函數可讓指定的 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 方式加入。
fade
fadeOut
scrollHorz
none
data-*
屬性。如,$("*.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
指定輪播變換效果,以文字名稱表示。
tileSlide
tileBlind
$("*.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)
更新日期: