Nivo Slider是一款出色的jQuery幻燈片插件,支持多種切換效果,可定制性強.
這個是官方網站:http://nivo.dev7studios.com/
但找瞭一下,卻沒發現什麼相應的文檔介紹.
於是,幹脆自己簡單的整理瞭一下.
[javascript]
$.fn.nivoSlider.defaults = {
effect: 'random', // 過渡效果
slices: 15, //effect為切片效果時的數量
boxCols: 8, //effect為格子效果時的列
boxRows: 4, //effect為格子效果時的行
animSpeed: 500, //動畫速度
pauseTime: 3000, //圖片切換速度
startSlide: 0, //從第幾張開始
directionNav: true, //是否顯示圖片切換按鈕(上/下頁)
directionNavHide: true, //是否鼠標經過才顯示
controlNav: true, // 顯示序列導航
controlNavThumbs: false, // 顯示圖片導航
controlNavThumbsFromRel: false, // 使用img的rel屬性作為縮略圖地址
controlNavThumbsSearch: '.jpg', // 查找特定字符串(controlNavThumbs必須為true)
controlNavThumbsReplace: '_thumb.jpg', // 替換成這個字符(controlNavThumbs必須為true)
keyboardNav: true, // 鍵盤控制(左右箭頭)PS:建議把代碼中的keypress換成keydown,因為在Chrome下有兼容問題.
pauseOnHover: true, // 鼠標經過時暫停播放
manualAdvance: false, // 是否手動播放(false為自動播放幻燈片)
captionOpacity: 0.1, // 字幕透明度
prevText: 'Prev',
nextText: 'Next',
randomStart: false, //是否隨機圖片開始
beforeChange: function(){}, //動畫開始前觸發
afterChange: function(){}, //動畫結束後觸發
slideshowEnd: function(){}, // 本輪循環結束觸發
lastSlide: function(){}, // 最後一張圖片播放結束觸發
afterLoad: function(){} // 加載完畢時觸發
};
$.fn.nivoSlider.defaults = {
effect: 'random', // 過渡效果
slices: 15, //effect為切片效果時的數量
boxCols: 8, //effect為格子效果時的列
boxRows: 4, //effect為格子效果時的行
animSpeed: 500, //動畫速度
pauseTime: 3000, //圖片切換速度
startSlide: 0, //從第幾張開始
directionNav: true, //是否顯示圖片切換按鈕(上/下頁)
directionNavHide: true, //是否鼠標經過才顯示
controlNav: true, // 顯示序列導航
controlNavThumbs: false, // 顯示圖片導航
controlNavThumbsFromRel: false, // 使用img的rel屬性作為縮略圖地址
controlNavThumbsSearch: '.jpg', // 查找特定字符串(controlNavThumbs必須為true)
controlNavThumbsReplace: '_thumb.jpg', // 替換成這個字符(controlNavThumbs必須為true)
keyboardNav: true, // 鍵盤控制(左右箭頭)PS:建議把代碼中的keypress換成keydown,因為在Chrome下有兼容問題.
pauseOnHover: true, // 鼠標經過時暫停播放
manualAdvance: false, // 是否手動播放(false為自動播放幻燈片)
captionOpacity: 0.1, // 字幕透明度
prevText: 'Prev',
nextText: 'Next',
randomStart: false, //是否隨機圖片開始
beforeChange: function(){}, //動畫開始前觸發
afterChange: function(){}, //動畫結束後觸發
slideshowEnd: function(){}, // 本輪循環結束觸發
lastSlide: function(){}, // 最後一張圖片播放結束觸發
afterLoad: function(){} // 加載完畢時觸發
};
上面的 $.fn.nivoSlider.defaults 是一個默認的設置對象,已經加上瞭相應的註釋.
其中 effect 屬性是用來設置動畫效果的,分別有以下效果:
random
fold
fade
slideInLeft
slideInRight
sliceDown
sliceDownRight
sliceDownLeft
sliceUp
sliceUpRight
sliceUpLeft
sliceUpDown
sliceUpDownLeft
sliceUpDownRight
boxRandom
boxRain
boxRainReverse
boxRainGrow
boxRainGrowReverse
[javascript]
//Keyboard Navigation
if(settings.keyboardNav){
$(window).keypress(function(event){
//Left
if(event.keyCode == '37'){
if(vars.running) return false;
clearInterval(timer);
timer = '';
vars.currentSlide-=2;
nivoRun(slider, kids, settings, 'prev');
}
//Right
if(event.keyCode == '39'){
if(vars.running) return false;
clearInterval(timer);
timer = '';
nivoRun(slider, kids, settings, 'next');
}
});
}
//Keyboard Navigation
if(settings.keyboardNav){
$(window).keypress(function(event){
//Left
if(event.keyCode == '37'){
if(vars.running) return false;
clearInterval(timer);
timer = '';
vars.currentSlide-=2;
nivoRun(slider, kids, settings, 'prev');
}
//Right
if(event.keyCode == '39'){
if(vars.running) return false;
clearInterval(timer);
timer = '';
nivoRun(slider, kids, settings, 'next');
}
});
}
另外,把代碼中的keypress換成keydown.
因為在Chrome下有兼容問題,部分按鍵(包括方向鍵)無法返回keycode.
下載的代碼中,一共有3個主題包.
隻要直接修改p的class就可以瞭.
[html]
<span style="white-space:pre"></span><p class="slider-wrapper theme-default">
<p class="ribbon"></p>
<p id="slider" class="nivoSlider">
<img src="images/toystory.jpg" alt="" />
<a href="http://dev7studios.com"><img src="images/up.jpg" alt="" title="This is an example of a caption" /></a>
<img src="images/walle.jpg" alt="" />
<img src="images/nemo.jpg" alt="" title="#htmlcaption" />
</p>
<p id="htmlcaption" class="nivo-html-caption">
<strong>This</strong> is an example of a <em>HTML</em> caption with <a href="#">a link</a>.
</p>
</p>
<span style="white-space:pre"></span><p class="slider-wrapper theme-default">
<p class="ribbon"></p>
<p id="slider" class="nivoSlider">
<img src="images/toystory.jpg" alt="" />
<a href="http://dev7studios.com"><img src="images/up.jpg" alt="" title="This is an example of a caption" /></a>
<img src="images/walle.jpg" alt="" />
<img src="images/nemo.jpg" alt="" title="#htmlcaption" />
</p>
<p id="htmlcaption" class="nivo-html-caption">
<strong>This</strong> is an example of a <em>HTML</em> caption with <a href="#">a link</a>.
</p>
</p>把第一行的p中的類名"theme-default"進行修改,把"default"改為對應的CSS文件名稱.(當然,前提是對應的CSS文件已插入頁面)
另外,如果像對應的圖片附帶標題出現,有兩種辦法.
第一種就是:
[html]
<a href="http://dev7studios.com"><img src="images/up.jpg" alt="" title="This is an example of a caption" /></a>
<a href="http://dev7studios.com"><img src="images/up.jpg" alt="" title="This is an example of a caption" /></a>在img標簽中加入title屬性.
另一種是:
[html]
<img src="images/nemo.jpg" alt="" title="#htmlcaption" />
<img src="images/nemo.jpg" alt="" title="#htmlcaption" />在title屬性中填入對應的ID或者類名,獲取下面對應p中的內容.
[html]
<p id="htmlcaption" class="nivo-html-caption">
<span style="white-space:pre"> </span><strong>This</strong> is an example of a <em>HTML</em> caption with <a href="#">a link</a>.
</p>
<p id="htmlcaption" class="nivo-html-caption">
<span style="white-space:pre"> </span><strong>This</strong> is an example of a <em>HTML</em> caption with <a href="#">a link</a>.
</p>
如果要對單獨一張圖片以特定的效果展示,www.aiwalls.com
可以在<img>標簽中加上data-transition屬性,例如:data-transition="slideInLeft"
摘自 簡生的代碼備忘錄