函數可讓指定的 jQuery 物件的所有子元素產生輪播,並可加入多種動畫變換效果。也可以簡單地只運用修改 html 屬性,而不用撰寫額外的 script 就可以產生輪播。
<script src="jquery.js"></script>
<script src="jquery.cycle2.js"></script>cycle 基本用法<div class="jqCycle">
<ul>
<li><a href="news1.html"><img src="pic1.png" alt="new1" /></a></li>
<li><a href="news2.html"><img src="pic2.png" alt="new2" /></a></li>
<li><a href="news3.html"><img src="pic3.png" alt="new3" /></a></li>
<li><a href="news4.html"><img src="pic4.png" alt="new4" /></a></li>
</ul>
</div>$('*.jqCycle>ul').cycle({slides:">li"});ul 元素的所有子元素 li ,以原先定義的效果 (淡出淡入) 依序輪播。
<ul class="cycle-slideshow" data-cycle-slides=">li">不需撰寫 script ,即會自動輪播 *.cycle-slideshow 的所有 li 子元素。
jQuery 指定物件及函數使用可參閱 jQuery 基本用法。
cycle 函數的參數data-cycle-* 屬性,有加 ♦ 符號者,表示屬性可指定在個別輪播元素。slides指定輪播片元素,可以是「jQuery 物件」、「jQuery selector 文字串」;原定值為 ">img" 。如,
$('*.jqCycle>ul').cycle({slides:">li"});fx指定輪播變換效果,以文字名稱表示;原定值為 'fade' 。更多效果以 cycle2 Transition plugin 方式加入。
fadefadeOutscrollHorznonedata-* 屬性。如,$("*.jqCycle>ul").cycle({slides:">li",fx:"scrollHorz"});<li data-cycle-fx="fadeOut">
speed指定效果的變換速度,單位為 ms ;原定值為 500 。如,
$("*.jqCycle>ul").cycle({slides:">li",fx:"scrollHorz",speed:250});timeout指定兩個輪播之間的間隔時間,單位為 ms ;原定值為 4000 ,指定 0 表示停止自動輪播。如,
$("*.jqCycle>ul").cycle({slides:">li",fx:"scrollHorz",speed:250,timeout:3000});delay指定延遲首次變換的開始時間,單位為 ms ;原定值為 0 ;可為負值,表示提前。如,
$("*.jqCycle>ul").cycle({slides:">li",fx:"scrollHorz",speed:250,timeout:3000,delay:2000});pause-on-hover (pauseOnHover)指定鼠標移入輪播元素時是否暫停變換時間;原定值為 false ,不會暫停;也可為「jQuery selector 文字串」,指定附加此 hover 事件的元素。如,
$("*.jqCycle>ul").cycle({slides:">li",fx:"scrollHorz",speed:250,timeout:3000,pauseOnHover:true});random指定輪播元素播放順序是否隨機;原定值為 false ,依 DOM 的順序播放。如,
$("*.jqCycle>ul").cycle({slides:">li",fx:"scrollHorz",speed:250,timeout:3000,random:true});sync指定變換時是否出與進同步 (出與進同時變換) ;原定值為 true ,出與進同步,反之則先出後進。如,
$("*.jqCycle>ul").cycle({slides:">li",fx:"scrollHorz",speed:250,sync:false});starting-slide (startingSlide)指定輪播首檔出現的元素代號,以零起始 (zero-based) 索引整數表示;原定值為 0 ,由第一個元素開始。如,
$("*.jqCycle>ul").cycle({slides:">li",fx:"scrollHorz",speed:250,startingSlide:2});next指定當作跳至下一元素的按鈕,可以是「jQuery 物件」、「jQuery selector 文字串」;原定值為 '> .cycle-next' 。如,
$("*.jqCycle>ul").cycle({slides:">li",fx:"scrollHorz",speed:250,next:"button#nx"});prev指定當作跳至上一元素的按鈕,可以是「jQuery 物件」、「jQuery selector 文字串」;原定值為 '> .cycle-prev' 。如,
$("*.jqCycle>ul").cycle({slides:">li",fx:"scrollHorz",speed:250,prev:"button#pv"});easing指定非等速動畫函數名稱 (需要導入 easing plugin);原定值為 null 。如,
$("*.jqCycle>ul").cycle({slides:">li",fx:"scrollHorz",speed:250,easing:'easeInOutQuad'});pager指定縮圖列的容納區物件,可以是「jQuery 物件」、「jQuery selector 文字串」;原定值為 '> .cycle-pager' 。如,
$("*.jqCycle>ul").cycle({slides:">li",fx:"scrollHorz",speed:250,pager:'*.cycleNavbar'});pager-template (pagerTemplate)指定作為縮圖列個別按鈕的元素,以「html 文字串」表示,會成為 pager 屬性指定的物件的子元素;原定值為 '<span>•</span>' ;如果已經有這些元素,以 '' (空字) 表示不再自動加入。如,
$("*.jqCycle>ul").cycle({slides:">li",fx:"scrollHorz",speed:250,pager:$('*.cycleNavbar'),pagerTemplate:''});pager-event (pagerEvent)指定附加在縮圖列個別按鈕的事件名稱 (型式) ;原定值為 'click.cycle' 。如,
$("*.jqCycle>ul").cycle({slides:">li",fx:"scrollHorz",speed:250,pager:$('*.cycleNavbar'),pagerTemplate:'',pagerEvent:'click.cycle focus.cycle'});caption指定輪播片標註的容器元素,可以是「jQuery 物件」、「jQuery selector 文字串」;原定值為 '> .cycle-caption' 。如,
$("*.jqCycle>ul").cycle({slides:">li",fx:"scrollHorz",speed:250,caption:'*.slideTitle'});caption-template (captionTemplate)指定輪播片標註的内容範本;原定值為 '{{slideNum}} / {{slideCount}}' ; {{slideNum}} 表示輪播片編號,{{slideCount}} 表示輪播片總數 。如,
$("*.jqCycle>ul").cycle({slides:">li",fx:"scrollHorz",speed:250,caption:'*.slideTitle',captionTemplate:'共 {{slideCount}} 則'});overlay指定輪播片標註的容器元素,可以是「jQuery 物件」、「jQuery selector 文字串」;原定值為 '> .cycle-overlay' 。如,
$("*.jqCycle>ul").cycle({slides:">li",fx:"scrollHorz",speed:250,overlay:'*.slideNote'});overlay-template (overlayTemplate)指定輪播片標註的内容範本;原定值為 '<div>{{title}}</div><div>{{desc}}</div>' ;{{title}} 表示輪播元素 data-cycle-title 屬性的内容, {{desc}} 表示輪播元素 data-cycle-desc 屬性的内容 。如,
$("*.jqCycle>ul").cycle({slides:">li",fx:"scrollHorz",speed:250,overlayTemplate:'<div>{{title}}</div>'});loop指定輪播循環次數;原定值為 0 ;小於 1 表示無限次。如,
$("*.jqCycle>ul").cycle({slides:">li",fx:"scrollHorz",speed:250,loop:1});'pause'暫停輪播;可使用 'resume' 關鍵字恢復繼續輪播。如,
$("*.jqCycle>ul").cycle('pause');'resume'恢復播放已暫停的輪播。如,
$("*.jqCycle>ul").cycle('resume');'stop'停止輪播。如,
$("*.jqCycle>ul").cycle('stop');'destroy'停止輪播,並移除所有附加事件。如,
$("*.jqCycle>ul").cycle('destroy');'next'跳至下一元素。如,
$("*.jqCycle>ul").cycle('next');'prev'跳至上一元素。如,
$("*.jqCycle>ul").cycle('prev');'goto'跳至指定的元素,以零起始 (zero-based) 索引整數表示。如,
$("*.jqCycle>ul").cycle('goto',6);<script src="jquery.cycle2.tile.js"></script>
fx指定輪播變換效果,以文字名稱表示。
tileSlidetileBlind$("*.jqCycle>ul").cycle({slides:">li",fx:"tileBlind"});
tile-count (tileCount)分割數量,須指定明確的尺寸 (如寬度) 才有效;原定值為 7。如,
$("*.jqCycle>ul").cycle({slides:">li",tileCount:12});
tile-vertical (tileVertical)指定是否垂直分割;原定值為 true。如,
$("*.jqCycle>ul").cycle({slides:">li",tileCount:12,tileVertical:false});
tile-delay (tileDelay)指定個別分割的變換時間,單位為 ms ;原定值為 100。如,
$("*.jqCycle>ul").cycle({slides:">li",tileCount:12,tileDelay:200});
caption | overlay) 變換效果參數屬性<script src="jquery.cycle2.caption2.js"></script>
caption-plugin (captionPlugin)指定標註變換效果的 plugin 名稱;目前只有 'caption2' 。
$("*.jqCycle>ul").cycle({slides:">li",caption:"*.slideTitle",captionPlugin:"caption2"});
caption-fx-out (captionFxOut)指定要離開的 caption 標註的變換效果;原定值為 'fadeOut'。如,
$("*.jqCycle>ul").cycle({slides:">li",caption:"*.slideTitle",captionPlugin:"caption2",captionFxOut:"slideUp"});
caption-fx-in (captionFxIn)指定要進入的 caption 標註的變換效果;原定值為 'fadeIn'。如,
$("*.jqCycle>ul").cycle({slides:">li",caption:"*.slideTitle",captionPlugin:"caption2",captionFxOut:"slideUp",captionFxIn:"slideDown"});
overlay-fx-out (overlayFxOut)指定要離開的 overlay 標註的變換效果;原定值為 'fadeOut'。如,
$("*.jqCycle>ul").cycle({slides:">li",caption:"*.slideTitle",captionPlugin:"caption2",overlayFxOut:"slideUp"});
overlay-fx-in (overlayFxIn)指定要進入的 overlay 標註的變換效果;原定值為 'fadeIn'。如,
$("*.jqCycle>ul").cycle({slides:">li",caption:"*.slideTitle",captionPlugin:"caption2",overlayFxOut:"slideUp",overlayFxIn:"slideDown"});
cycle-after完成變換到下一幀的事件。
function(event, option, outgoingSlideEl, incomingSlideEl, forwardFlag)cycle-before正要變換到下一幀前的事件。
function(event, option, outgoingSlideEl, incomingSlideEl, forwardFlag)cycle-finished輪播終止的事件,即 loop 指定的循環結束。
function(event, option)cycle-next執行 next 命令後的事件。
function(event, option)cycle-prev執行 prev 命令後的事件。
function(event, option)更新日期: