函數可讓指定的 jQuery 物件的所有子元素產生輪播,並可加入多種動畫變換效果。
2013 新版 cycle2 plugin 具有更多自行設計的彈性與空間。
<script src="jquery.js"></script>
<script src="jquery.cycle.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();
ul
元素的所有子元素 li
,以原先定義的效果 (淡出淡入) 依序輪播。
jQuery 指定物件及函數使用可參閱 jQuery 基本用法。
如果個別輪播元素的寬度與高度無法明確定型 (如每項內文不同長短) ,最好以 css 在親元素 (Parent Element, 如範例中的 ul
) 指定明確的寬與高。
cycle
函數的參數fx
指定輪播變換效果,以文字名稱表示;原定值為 'fade'
。
fade
fadeZoom
blindX
blindY
blindZ
cover
uncover
curtainX
curtainY
growX
growY
scrollUp
scrollDown
scrollLeft
scrollRight
scrollHorz
scrollVert
shuffle
slideX
slideY
toss
turnUp
turnDown
turnLeft
turnRight
wipe
zoom
$("*.jqCycle ul").cycle({fx:"scrollHorz"});
$("*.jqCycle ul").cycle({fx:"wipe,scrollHorz,scrollVert,uncover"});
$("*.jqCycle ul").cycle("wipe");
各種變換效果可參閱官方網站展示 (英文)。
speed
指定效果的變換速度,單位為 ms ;原定值為 1000 。如,
$("*.jqCycle ul").cycle({fx:"wipe",speed:250});
timeout
指定兩個輪播之間的間隔時間,單位為 ms ;原定值為 4000 ,指定 0 表示停止自動輪播。如,
$("*.jqCycle ul").cycle({fx:"wipe",speed:250,timeout:3000});
delay
指定延遲首次變換的開始時間,單位為 ms ;原定值為 0 。如,
$("*.jqCycle ul").cycle({fx:"wipe",speed:250,timeout:3000,delay:2000});
pause
指定滑鼠游標移入輪播元素時是否暫停變換時間;原定值為 0 ,不會暫停。如,
$("*.jqCycle ul").cycle({fx:"wipe",speed:250,timeout:3000,pause:1});
random
指定輪播元素播放順序是否隨機;原定值為 0 ,依 DOM 的順序播放;此定義不適用 "shuffle"
效果。如,
$("*.jqCycle ul").cycle({fx:"wipe",speed:250,timeout:3000,random:1});
randomizeEffects
指定使用多個效果時是否隨機套用;原定值為 1 ,不依指定順序隨機套用。如,
$("*.jqCycle ul").cycle({fx:"wipe,scrollHorz,scrollVert,uncover",speed:250,randomizeEffects:0});
sync
指定變換時是否出與進同步 (出與進同時變換) ;原定值為 1 ,出與進同步,反之則先出後進。如,
$("*.jqCycle ul").cycle({fx:"wipe",speed:250,sync:0});
startingSlide
指定輪播開始的第一個元素,以零起始 (zero-based) 索引整數表示;原定值為 0 ,由第一個元素開始。如,
$("*.jqCycle ul").cycle({fx:"wipe",speed:250,startingSlide:2});
next
指定當作跳至下一元素的按鈕的「jQuery 物件」或「jQuery selector 文字串」;原定值為 null
,無指定元素。如,
$("*.jqCycle ul").cycle({fx:"scrollHorz",speed:250,next:$("button#nx")});
prev
指定當作跳至上一元素的按鈕的「jQuery 物件」或「jQuery selector 文字串」;原定值為 null
,無指定元素。如,
$("*.jqCycle ul").cycle({fx:"scrollHorz",speed:250,prev:"button#pv"});
pager
指定縮圖列的容納區物件,可以是「jQuery 物件」、「jQuery selector 文字串」、「DOM 元素」;原定值為 null
;沒有指定 pagerAnchorBuilder
屬性,此物件會產生 a
子元素的編號型按鈕。如,
$("*.jqCycle ul").cycle({fx:"scrollHorz",speed:250,pager:'ol#nav-cycle'});
pagerAnchorBuilder
指定一個函數並 return
作為縮圖列個別按鈕的物件,可以是「jQuery 物件」、「jQuery selector 文字串」、「html 文字串」,此物件為 pager
屬性指定的物件的子元素;函數內建可傳遞輪播元素的 index
及 DOM 元素參數;原定值為 null
。如,
$("*.jqCycle ul").cycle({fx:"scrollHorz",speed:250,pager:$('*#nav-cycle'),pagerAnchorBuilder:function(i,e){return $('li').eq(i);}});
'pause'
暫停輪播;可使用 'resume'
關鍵字恢復繼續輪播。如,
$("*.jqCycle ul").cycle('pause');
'resume'
恢復播放已暫停的輪播。如,
$("*.jqCycle ul").cycle('resume');
'toggle'
切換暫停與恢復輪播狀態。如,
$("*.jqCycle ul").cycle('toggle');
'stop'
停止輪播。如,
$("*.jqCycle ul").cycle('stop');
'destroy'
停止輪播,並移除所有附加事件。如,
$("*.jqCycle ul").cycle('destroy');
'next'
跳至下一元素。如,
$("*.jqCycle ul").cycle('next');
'prev'
跳至上一元素。如,
$("*.jqCycle ul").cycle('prev');
更新日期: