<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Basic Verbs &#187; Client Side</title>
	<atom:link href="http://basicverbs.com/category/development/client-side/feed/" rel="self" type="application/rss+xml" />
	<link>http://basicverbs.com</link>
	<description>Design AND Development Blog</description>
	<lastBuildDate>Fri, 19 Feb 2010 09:51:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Here it is. The best jQuery carousel EVA!</title>
		<link>http://basicverbs.com/here-it-is-the-best-jquery-carousel-eva/</link>
		<comments>http://basicverbs.com/here-it-is-the-best-jquery-carousel-eva/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 19:59:27 +0000</pubDate>
		<dc:creator>dejan.noveski</dc:creator>
				<category><![CDATA[Client Side]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Freebies]]></category>

		<guid isPermaLink="false">http://basicverbs.com/?p=147</guid>
		<description><![CDATA[We are very sorry for the inconvenience and the design. We have problems with the hosting and we hope that we&#8217;ll straight them out soon. Thank you for the understanding
After long time of struggling with bugs and procrastination, I finally finished the best carousel of all time! There are some custom and proprietary non open [...]]]></description>
			<content:encoded><![CDATA[<h2><b>We are very sorry for the inconvenience and the design. We have problems with the hosting and we hope that we&#8217;ll straight them out soon. Thank you for the understanding</b></h2>
<p>After long time of struggling with bugs and procrastination, I finally finished the best carousel of all time! There are some custom and proprietary non open source plugins like this, but with limited functionality and custom implementation. Mine is easy to implement, highly customizable and works with images and DOM too.</p>
<p>Anyway i will start with an example of the plugin:</p>
<p><br/></p>
<div id="carouselthreed" style="height:200px;">
                <img class="tdc-element" src="http://basicverbs.com/wp-content/uploads/2010/01/fly1.jpg" alt="" style="cursor:pointer"/><br />
                <img class="tdc-element" src="http://basicverbs.com/wp-content/uploads/2010/01/gates1.jpg" alt="" style="cursor:pointer;width:250px;height:164px;"/><br />
                <img class="tdc-element" src="http://basicverbs.com/wp-content/uploads/2010/01/penguins1.jpg" alt="" style="cursor:pointer"/>
</div>
<p><script type="text/javascript" src="http://basicverbs.com/wp-content/uploads/2010/01/Carousel3D3.js"></script></p>
<p>Here is how you implement it:</p>
<pre>
    $('#carouselthreed').carousel3D({
        speed: 900,
        perspectiveZoom: 70,
        sideOffset: 80,
        topOffset:0,
        secondaryOpacity: .35,
        emClass:'tdc-element'
    })

HTML:
&lt;div id="carouselthreed"&gt;
        &lt;img class="tdc-element" src="img/fly.jpg" alt=""&gt;
        &lt;img class="tdc-element" src="img/gates.jpg" alt=""&gt;
        &lt;img class="tdc-element" src="img/penguins.jpg" alt=""&gt;
 &lt;/div&gt;
</pre>
<p>The settings object attributes are:</p>
<p><code>speed - Speed of animation in milliseconds (default 350)<br />
perspectiveZoom - Percentage of secondary element's sizes relative to primary element (default 80)<br />
sideOffset - Offset of secondary elements (default 70)<br />
topOffset - Offset from top of secondary elements (default 0)<br />
secondaryOpacity - Opacity of secondary elements (default 0.8)<br />
emClass - CSS class of elements that will rotate (images/dom) (default "tdc-element")<br />
</code></p>
<p>Any of those attributes can be omitted and default values will be used. For reference, the second element in the container is taken, it is the central element and all other elements are resized relative to it. <strong>It works with unlimited number of elements.</strong></p>
<p>You can download the plugin <a href="http://basicverbs.com/wp-content/uploads/2010/01/jqCarousel3D.js"><b>here</b></a> and you only need the jquery library.</p>
<p><b>Enjoy!</b></p>
]]></content:encoded>
			<wfw:commentRss>http://basicverbs.com/here-it-is-the-best-jquery-carousel-eva/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>DOM Carousel</title>
		<link>http://basicverbs.com/66/</link>
		<comments>http://basicverbs.com/66/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 13:14:24 +0000</pubDate>
		<dc:creator>dejan.noveski</dc:creator>
				<category><![CDATA[Client Side]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Freebies]]></category>

		<guid isPermaLink="false">http://basicverbs.com/?p=66</guid>
		<description><![CDATA[In one project of ours, we needed a simple and light DOM carousel that will fallback on list when javascript is turned off. By the term &#8220;DOM carousel&#8221; i mean a carousel that will show/hide/slide DOM elements, complete container (div, p, h) not just images or special types of content. This domCarousel takes the containers [...]]]></description>
			<content:encoded><![CDATA[<p>In one project of ours, we needed a simple and light DOM carousel that will fallback on list when javascript is turned off. By the term &#8220;DOM carousel&#8221; i mean a carousel that will show/hide/slide DOM elements, complete container (div, p, h) not just images or special types of content. This <strong>domCarousel</strong> takes the containers one by one and slides them one after another.</p>
<p>Works in a simple manner. Just attach it on the parent container of the elements that will slide, fill in the options object (or use the default values) and you are good to go.</p>
<pre style="font-size:12px;">$.fn.domCarousel = function(options){
        // keeping a reference to the carousel object
	var container = this;

        //setting the class of the items that will rotate or default
	var itemClass = (options.itemClass)?(options.itemClass):("dc-item");

        //interval length of transition
	var ti = (options.transitionInterval)?(options.transitionInterval):(10000);

        //label for the start button or default
	var startLabel = (options.startLabel)?(options.startLabel):("Start");

        //label for the stop button or default
	var stopLabel = (options.stopLabel)?(options.stopLabel):("Stop");

        //label for the back button or default
	var backLabel = (options.backLabel)?(options.backLabel):("Back");

        //label for the forward button or default
	var forwardLabel = (options.forwardLabel)?(options.forwardLabel):("forward");

        //display buttons true or false
	var displayButtons = (options.displayButtons)?(options.displayButtons):(true);

       //attach a class to the buttons
	var buttonClass = (options.buttonClass)?(options.buttonClass):('button');

	//initializing and help vars.
	var intervalID = ""; //id of the interval object so we can control it
	var mutex = false; //mutex so the transitions wont overlap
	var min_height = 0; 

        //hide all the elements
	$(container).find("."+itemClass+":gt(0)").hide();
	//make them position relative and add some style to them
        //(you can change this so it suits you better)
	$(container).css("position","relative");
	$(container).css("margin-top","20px");
	$(container).find("."+itemClass).css("margin","0px");

	var currentIndex = 0; //this is the currently active em

       //This is where the magic happens. Using current item reference
 	//and the mutex, we animate blocks one by one. See why mutex
       // is important
	container.changeItem = function(){
		if(!mutex){
			mutex=true;
			$(container).find("."+itemClass+":eq("+currentIndex+")")
                                .hide("slide",{direction: 'left'},300,function(){

			nextToShow = (currentIndex == $(container)
                                       .find("."+itemClass).length-1)
                               ? (0):(currentIndex+1);				

				$(container).find("."+itemClass+":eq("+nextToShow+")")
                                .show("slide",{direction: 'right'},300,function(){
					currentIndex = nextToShow;
					mutex=false;
				});
			});
		}
	}

	// same function from above but for back
	container.changeBack = function(){
		if (!mutex) {
			mutex = true;
			$(container).find("." + itemClass +
                                  ":eq(" + currentIndex + ")").hide("slide", {
				direction: 'right'
			}, 300, function(){
			nextToShow = (currentIndex == 0) ?
                        ($(container).find("." + itemClass).length - 1) : (currentIndex - 1);

			$(container).find("." + itemClass + ":eq(" + nextToShow + ")")
                        .show("slide", {
					direction: 'left'
				}, 300, function(){
					currentIndex = nextToShow;
					mutex = false;
				});
			});
		}
	}

	//Initialize the interval and animate
	container.play = function(){

		if(!intervalID){
			$(container).find("input.dc_button_ss").val(stopLabel);
			$(container).find("input.dc_button_ss").click(function(){
				container.stop();
			});
			intervalID = setInterval(function(){
				container.changeItem();
			},ti);
		}
	}

	//find the interval and remove it
	container.stop = function(){
		if(intervalID){
			$(container).find("input.dc_button_ss").val(startLabel);
			$(container).find("input.dc_button_ss").click(function(){
				container.play();
			});
			clearInterval(intervalID);
			intervalID = null;
		}
	}

	//Should we display buttons or not.
	if(displayButtons){
		$(container).append('&lt;span style="position: absolute; right: 5px; top: -28px;">
               &lt;input class="dc_button_back '+buttonClass+'" type="button" value="'+backLabel+'" /> 
               &lt;input class="dc_button_ss '+buttonClass+'" type="button" value="'+stopLabel+'" /> 
               &lt;input class="dc_button_forward '+buttonClass+'" type="button" value="'+forwardLabel+'" /></span>');

	        //init button click events
		$(container).find("input.dc_button_back").click(function(){
			container.stop();
			container.changeBack();
		});

		$(container).find("input.dc_button_forward").click(function(){
			container.stop();
		        container.changeItem();
		});
	}
        //start the carousel
	container.play();
}</pre>
<p>The plugin is used same as all other jquery plugins : $(selector).domCarousel(options). Options is an object that has these attributes:<br />
<code>itemClass : css class of the transition items,<br />
transitionInterval : time in milliseconds of transition,<br />
startLabel : start button label,<br />
stopLabel : stop button label,<br />
backtLabel : back button label,<br />
forwardLabel : forward button label,<br />
displayButtons : will we display buttons or not,<br />
buttonClass : css class of the buttons</code></p>
<p>To use this plugin, you will need the <a href="http://jquery.com/">jQuery</a> library, the <a href="http://jqueryui.com/">jQuery-UI</a> library and the <a href="http://basicverbs.com/wp-content/uploads/2010/01/dom_carousel.js">plugin itself</a>. Live example of the plugin, you can see <a href="http://oglasuva.me/">here</a> the fourth box from top.</p>
<h3>Enjoy!</h3>
]]></content:encoded>
			<wfw:commentRss>http://basicverbs.com/66/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>/objects &#8211; Ton of Dev FREEBIES</title>
		<link>http://basicverbs.com/objects_freebies/</link>
		<comments>http://basicverbs.com/objects_freebies/#comments</comments>
		<pubDate>Sun, 20 Dec 2009 19:49:09 +0000</pubDate>
		<dc:creator>Cory</dc:creator>
				<category><![CDATA[Client Side]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Freebies]]></category>
		<category><![CDATA[dropdown]]></category>
		<category><![CDATA[footer]]></category>
		<category><![CDATA[objects]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://basicverbs.com/?p=53</guid>
		<description><![CDATA[Ton of random snippets of code I frequently whip out during design. Particularly the fixed footer. The single-level dropdown is pretty custom/sleek too.
Anyway, they are all pretty bare-bones, so you should be able to figure out how to implement them from source.
http://basicverbs.com/objects
Feel free to check back as I add something new almost every week.
]]></description>
			<content:encoded><![CDATA[<p>Ton of random snippets of code I frequently whip out during design. Particularly the fixed footer. The single-level dropdown is pretty custom/sleek too.</p>
<p>Anyway, they are all pretty bare-bones, so you should be able to figure out how to implement them from source.</p>
<p><a href="http://basicverbs.com/objects">http://basicverbs.com/objects</a></p>
<p>Feel free to check back as I add something new almost every week.</p>
]]></content:encoded>
			<wfw:commentRss>http://basicverbs.com/objects_freebies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Livescape &#8211; a jQuery live landscape</title>
		<link>http://basicverbs.com/livescape-a-jquery-live-landscape/</link>
		<comments>http://basicverbs.com/livescape-a-jquery-live-landscape/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 19:56:22 +0000</pubDate>
		<dc:creator>dejan.noveski</dc:creator>
				<category><![CDATA[Client Side]]></category>
		<category><![CDATA[Freebies]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://basicverbs.com/?p=27</guid>
		<description><![CDATA[Few days ago i was bored to death and decided to do something to pass time &#8211; write a jquery plugin. Didn&#8217;t have any idea what to do, so Cory said &#8220;Lets do something that will give life and movement to the designs without using flash&#8221;. I started on LiveScape &#8211; the live landscape.
The idea [...]]]></description>
			<content:encoded><![CDATA[<p>Few days ago i was bored to death and decided to do something to pass time &#8211; write a jquery plugin. Didn&#8217;t have any idea what to do, so Cory said &#8220;Lets do something that will give life and movement to the designs without using flash&#8221;. I started on <strong>LiveScape</strong> &#8211; the live landscape.</p>
<p>The idea behind this plugin is to have somekind of landscape container that will contain objects moving inside of it e.g. sky with the clouds moving. The plugin is built simple, has simple implementation, it is very easy to use, yet very flexible. You only need the landscape image, the object images and one container.</p>
<p>Lets get technical: You have a div #livescape. This is how the plugin in used.</p>
<pre>$('#livescape').livescape({

    height : '360px',  //height of the landscape (can be omitted)
    width : '1000px', //width of the landscape (can be omitted)
    background_image : 'img/bg.jpg', //background image (can be omitted)

    // Next define the objects that are moving:
    objects : [
        {
            //the positions are relative to the landscape
            //if omitted, random assumed - same for duration
            start_x : "1700px", //x of start position
            start_y : "190px", //y of start position
            end_x : "-4000px", //x of end position
            end_y : "190px", //y of end position
            image : 'img/car.png', //image of the object (url)
            duration : 18000, // duration of the animation
            loop : true, // the animation loops
            href : "ThisisBatCountry.png", //the object is anchor
            pause: 1000, //pause in between loops in ms
            fade : true //the objects fade in on start and out on end
        },
        //another object
        {
            start_x : "-250px",
            start_y : "5px",
            end_x : "1250px",
            end_y : "5px",
            duration : 49000,
            image : 'img/cloud1.png',
            loop : true,
            fade : true
        }
    ]
})</pre>
<p>This is setup is for 2 objects. The implementation is pretty intuitive and i think you will get a hold of it very fast. </p>
<p>
 <b>The plugin is still beta. Needs refactoring. Time of development was around 30 min.</b> Nevertheless you will have access to an early access version.
</p>
<p><b>Anyway <a href="http://basicverbs.com/wp-content/uploads/2009/12/jqLiveScape.js">[DOWNLOAD]</a> the plugin and enjoy the &#8220;Fear and Loathing in Las Vegas&#8221; example:</b></p>
<p><script type="text/javascript" src="http://basicverbs.com/wp-content/uploads/2009/12/livescape.js"/></p>
<div id="livescape" style="overflow:hidden">
</div>
]]></content:encoded>
			<wfw:commentRss>http://basicverbs.com/livescape-a-jquery-live-landscape/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
