glide

//Featured Content Glider: By http://www.dynamicdrive.com //Created: Dec 22nd, 07' //Updated (Jan 29th, 08): Added four possible slide directions: "updown", "downup", "leftright", or "rightleft" //Updated (Feb 1st, 08): Changed glide behavior to reverse direction when previous button is clicked //Updated (Feb 12th, 08): Added ability to retrieve gliding contents from an external file using Ajax ("remotecontent" variable added to configuration) var featuredcontentglider={ csszindex: 100, ajaxloadingmsg: 'Fetching Content. Please wait...', glide:function(config, showpage, isprev){ var selected=parseInt(showpage) if (selected>=config.$contentdivs.length){ //if no content exists at this index position alert("No content exists at page "+(selected+1)+"! Loading 1st page instead.") selected=0 } var $target=config.$contentdivs.eq(selected) //Test for toggler not being initialized yet, or user clicks on the currently selected page): if (config.$togglerdiv.attr('lastselected')==null || parseInt(config.$togglerdiv.attr('lastselected'))!=selected){ var $selectedlink=config.$toc.eq(selected) config.$next.attr('loadpage', (selectedServer Response: '+ajaxrequest.responseText) }, success:function(content){ config.$glider.html(content) featuredcontentglider.setuptoggler(config) } }) }, aligncontents:function(config){ config.$contentdivs=$("#"+config.gliderid+" ."+config.contentclass) config.$contentdivs.css(config.leftortop, config.startpoint).css({height: config.$glider.height(), visibility: 'visible'}) //position content divs so they're out of view: }, setuptoggler:function(config){ this.aligncontents(config) config.$togglerdiv.hide() config.$toc.each(function(index){ $(this).attr('pagenumber', index+'pg') if (index > (config.$contentdivs.length-1)) $(this).css({display: 'none'}) //hide redundant "toc" links }) var $nextandprev=$("#"+config.togglerid+" .next, #"+config.togglerid+" .prev") $nextandprev.click(function(event){ //Assign click behavior to 'next' and 'prev' links featuredcontentglider.glide(config, this.getAttribute('loadpage'), this.getAttribute('buttontype')) event.preventDefault() //cancel default link action }) config.$toc.click(function(event){ //Assign click behavior to 'toc' links featuredcontentglider.glide(config, this.getAttribute('pagenumber')) event.preventDefault() }) config.$togglerdiv.fadeIn(1000, function(){ featuredcontentglider.glide(config, config.selected) if (config.autorotate==true){ //auto rotate contents? config.stepcount=0 //set steps taken config.totalsteps=config.$contentdivs.length*config.autorotateconfig[1] //Total steps limit: num of contents x num of user specified cycles) featuredcontentglider.autorotate(config) } }) config.$togglerdiv.click(function(){ featuredcontentglider.cancelautorotate(config.togglerid) }) }, autorotate:function(config){ var rotatespeed=config.speed+config.autorotateconfig[0] window[config.togglerid+"timer"]=setInterval(function(){ if (config.totalsteps>0 && config.stepcount>=config.totalsteps){ clearInterval(window[config.togglerid+"timer"]) } else{ config.$next.click() config.stepcount++ } }, rotatespeed) }, cancelautorotate:function(togglerid){ if (window[togglerid+"timer"]) clearInterval(window[togglerid+"timer"]) }, getCookie:function(Name){ var re=new RegExp(Name+"=[^;]+", "i") //construct RE to search for target name/value pair if (document.cookie.match(re)) //if cookie found return document.cookie.match(re)[0].split("=")[1] //return its value return null }, setCookie:function(name, value){ document.cookie = name+"="+value }, init:function(config){ $(document).ready(function(){ config.$glider=$("#"+config.gliderid) config.$togglerdiv=$("#"+config.togglerid) config.$toc=config.$togglerdiv.children('.toc') config.$next=config.$togglerdiv.children('.next') config.$prev=config.$togglerdiv.children('.prev') config.$prev.attr('buttontype', 'previous') var selected=(config.persiststate)? featuredcontentglider.getCookie(config.gliderid) : config.selected config.selected=(isNaN(parseInt(selected))) ? config.selected : selected //test for cookie value containing null (1st page load) or "undefined" string config.leftortop=(/up/i.test(config.direction))? "top" : "left" //set which CSS property to manipulate based on "direction" config.heightorwidth=(/up/i.test(config.direction))? config.$glider.height() : config.$glider.width() //Get glider height or width based on "direction" config.startpoint=(/^(left|up)/i.test(config.direction))? -config.heightorwidth : config.heightorwidth //set initial position of contents based on "direction" if (typeof config.remotecontent!="undefined" && config.remotecontent.length>0) featuredcontentglider.getremotecontent(config) else featuredcontentglider.setuptoggler(config) $(window).bind('unload', function(){ //clean up and persist config.$togglerdiv.unbind('click') config.$toc.unbind('click') config.$next.unbind('click') config.$prev.unbind('click') if (config.persiststate) featuredcontentglider.setCookie(config.gliderid, config.$togglerdiv.attr('lastselected')) config=null }) }) } }

segunda-feira, 2 de abril de 2012


Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque in ligula a mi ultricies vestibulum. Nunc risus nisi, dignissim a volutpat sit amet, semper at dolor. Vivamus consequat, dolor id pulvinar commodo, neque urna accumsan lacus, a aliquet tortor massa a nunc. Sed dignissim rhoncus erat, non hendrerit est viverra euismod. Sed semper lacus at tortor mollis pulvinar. Praesent turpis nulla, feugiat in eleifend ut, interdum eget sem. Pellentesque sed massa nec tellus laoreet adipiscing nec eu magna. Etiam sed imperdiet nulla. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis porta quam sit amet nibh ullamcorper vel malesuada odio lacinia. Quisque in ullamcorper nisi. Ut luctus ultrices blandit. Nunc sed est eu lorem sagittis cursus. Duis at interdum eros. Vivamus congue lobortis diam.
Nam varius porta faucibus. Praesent sagittis massa non nisl porta luctus. Aenean erat sapien, ornare vel sollicitudin quis, imperdiet ac mauris. Donec mollis arcu id diam facilisis gravida. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi sem purus, condimentum a vestibulum in, mattis sed arcu. Etiam sodales nulla eu turpis tincidunt quis lacinia leo tincidunt. Praesent bibendum, massa sit amet facilisis tristique, est odio accumsan neque, ac suscipit metus nisi ut quam. Donec vehicula suscipit lorem, quis ullamcorper elit porta ac. Aliquam gravida, lacus vitae egestas dignissim, leo augue sagittis augue, quis tristique ante sem in eros. Nulla facilisi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam et nulla sapien, non imperdiet quam.



Nenhum comentário:

Postar um comentário