/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net) * Licensed under the MIT License (LICENSE.txt). * * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers. * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix. * Thanks to: Seamus Leahy for adding deltaX and deltaY * * Version: 3.0.6 * * Requires: 1.2.2+ */ //jQuery mousewheel /* $("html,body").bind("mousewheel",bodyScroll) var bodyScroll = function (delta,aS,aQ,deltaY){ delta.preventDefault(); if (deltaY > 0) { if(NOW>0 && SCROLL == true) { NOW-- scrollAnimate(NOW) } } else if (deltaY < 0) { if(NOWlimit?scrollIndex=0:scrollIndex++ ; scrollAnimate(scrollIndex) } var scrollTimer = setInterval(scrollSetInter,delay) parentElm.hover(function(){ clearInterval(scrollTimer) },function(){ scrollTimer = setInterval(scrollSetInter,delay) }) prevElm.click(function(){ scrollIndex-1<0?scrollIndex=limit:scrollIndex-- ; scrollAnimate(scrollIndex) }) nextElm.click(function(){ scrollIndex+1>limit?scrollIndex=0:scrollIndex++ ; scrollAnimate(scrollIndex) }) controlElm.click(function(){ var _this = $(this) ; var _thisIndex = _this.index() ; scrollIndex = _thisIndex ; scrollAnimate(scrollIndex) }) function scrollAnimate(target) { distance = -(target*space) ; controlElm.eq(target).tabClass(controlElmClassName) ; eval("scrollElm.stop().animate({"+direction+":distance},transition,easing)") } }, //$.scrollLoop({parentElm:"parentElm",scrollElm:"scrollElm",prevElm:"prevElm",nextElm:"nextElm",delay:delay,transition:transition,easing:"easing",space:space,scrollElmChild:"scrollElmChild"}) scrollLoop:function(opt){ var def = { prevElm:null, nextElm:null, delay:7000, transition:1000, easing:"swing", scrollElmChild:"li" } var opt = $.extend(def,opt) ; var parentElm = $(opt.parentElm) ; var scrollElm = $(opt.scrollElm) ; var prevElm = $(opt.prevElm) ; var nextElm = $(opt.nextElm) ; var delay = opt.delay ; var transition = opt.transition ; var easing = opt.easing ; var space = -opt.space ; var scrollLoopLock = true ; var scrollLoopIndex = 0 ; var scrollElmLength = scrollElm.find(opt.scrollElmChild).length ; var scrollLoopLimit = scrollElmLength - 1 ; var prevScrollLoop = function(){ if(scrollLoopLock) { scrollLoopLock = false ; scrollLoopIndex-1<0?scrollLoopIndex=scrollLoopLimit:scrollLoopIndex-- ; scrollElm.css({marginLeft:space}) ; scrollElm.find(opt.scrollElmChild+":last").prependTo(opt.scrollElm) ; scrollElm.animate({marginLeft:0},transition,easing,function(){ scrollLoopLock = true ; }) } } var nextScrollLoop = function(){ if(scrollLoopLock) { scrollLoopLock = false ; scrollLoopIndex+1>scrollLoopLimit?scrollLoopIndex=0:scrollLoopIndex++ ; scrollElm.animate({marginLeft:space},transition,easing,function(){ scrollElm.find(opt.scrollElmChild+":first").appendTo(this) ; scrollElm.css({marginLeft:0}) ; scrollLoopLock = true ; }) } } var scrollLoopSetInter = nextScrollLoop ; var scrollLoopTimer = setInterval(scrollLoopSetInter,delay) ; parentElm.hover(function(){ clearInterval(scrollLoopTimer) ; },function(){ scrollLoopTimer = setInterval(scrollLoopSetInter,delay) ; }) prevElm.bind("click",prevScrollLoop) ; nextElm.bind("click",nextScrollLoop) ; } })