jQuery插件實(shí)現(xiàn)圖片輪播效果
使用插件實(shí)現(xiàn)圖片輪播效果:
通過設(shè)置傳入的參數(shù)autoScroll,numControl和arrowControl的值可以顯示不同的效果
圖片輪播效果一:設(shè)置autoScroll=true,numControl=false,arrowControl=false,圖片自動輪播,當(dāng)鼠標(biāo)進(jìn)入時(shí)停止輪播,當(dāng)鼠標(biāo)移出時(shí)繼續(xù)輪播;
圖片輪播效果二:設(shè)置autoScroll=true,numControl=ture,arrowControl=false,圖片自動輪播,同時(shí)當(dāng)鼠標(biāo)指向?qū)Ш綌?shù)字時(shí)顯示相應(yīng)的圖片;
圖片輪播效果三:設(shè)置autoScroll=true,numControl=false,arrowControl=true,圖片自動輪播,當(dāng)鼠標(biāo)點(diǎn)擊左右按鈕時(shí),顯示相應(yīng)的圖片;
動畫效果如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>圖片輪播</title>
<script type="text/javascript" src="http://libs.badu.com/jquery//1.11.1/jquery.min.js.js"></script>
<style type="text/css">
*{
margin: 0px;
padding: 0px;
list-style: none;
}
.slider{
position: relative;
margin: 50px auto;
width: 800px;
height: 200px;
overflow: hidden;
}
.slider ul{
position: absolute;
width: 3200px;
height: 200px;
}
.slider ul li{
float: left;
width: 800px;
height: 200px;
}
.slider ul li img{
width: 800px;
height: 200px;
}
.slider .num{
position: absolute;
right: 20px;
bottom: 20px;
}
.slider .num span{
display: block;
float: left;
margin-right: 10px;
width: 30px;
height: 30px;
line-height: 30px;
color: #fff;
background: #ccc;
text-align: center;
opacity: 0.6;
}
.slider .num span.active{
background: #1D5D76;
}
.left{
width:56px;
height: 87px;
position: absolute;
left:10px;
top:57px;
background: url('images/left-arrow.png');
}
.right{
width:56px;
height: 87px;
position: absolute;
right:10px;
top:57px;
background: url('images/right-arrow.png');
}
</style>
</head>
<body>
<div id="slider1" class="slider">
<ul>
<li><img src="images/1.jpg" alt="圖片"></li>
<li><img src="images/2.jpg" alt="圖片"></li>
<li><img src="images/3.jpg" alt="圖片"></li>
<li><img src="images/4.jpg" alt="圖片"></li>
</ul>
</div>
<div id="slider2" class="slider">
<ul>
<li><img src="images/1.jpg" alt="圖片"></li>
<li><img src="images/2.jpg" alt="圖片"></li>
<li><img src="images/3.jpg" alt="圖片"></li>
<li><img src="images/4.jpg" alt="圖片"></li>
</ul>
</div>
<div id="slider3" class="slider">
<ul>
<li><img src="images/1.jpg" alt="圖片"></li>
<li><img src="images/2.jpg" alt="圖片"></li>
<li><img src="images/3.jpg" alt="圖片"></li>
<li><img src="images/4.jpg" alt="圖片"></li>
</ul>
</div>
<script type="text/javascript" src="jQuery.slider.js"></script>
<script>
$(document).ready(function(){
$("#slider1").slider();
$("#slider2").slider({
//autoScroll:false,
numCtroll:true
});
$("#slider3").slider({
//autoScroll:false,
arrowControl:true
});
})
</script>
</body>
</html>
jQuery.slider.js
;(function ($) {
$.fn.slider=function (options) {
var defaults={
autoScroll: true,
speed:2000,
numCtroll: false,
arrowControl: false
}
var settings=$.extend({},defaults,options),
slider=$(this),
ul=slider.find("ul"),
li=ul.find("li"),
img=li.find("imf"),
width=slider.width(),
height=slider.height(),
len=li.length,
timer=null,
index=0;
// ul.css({width:len*width,height:height});
// li.add(img).css({width:width,height:height});
//判斷是否自動輪播
if (settings.autoScroll) {
timer=setInterval(pic,settings.speed);
}
//判斷是否顯示數(shù)字導(dǎo)航,并通過數(shù)字導(dǎo)航控制顯示圖片
if (settings.numCtroll){
slider.append("<div class='num'></div>")
for (var i=0;i<len;i++){
slider.find(".num").append("<span>"+(i+1)+"</span>");
}
slider.find(".num span").eq(0).addClass("active");
slider.find(".num span").on("mouseover",function () {
$(this).addClass("active").siblings().removeClass("active");
showPic($(this).index());
})
}
//判斷是夠顯示左右按鈕,并通過左右按鈕控制顯示圖片
if(settings.arrowControl){
slider.append("<span class='left'></span><span class='right'></span>");
var prev = slider.find(".left");
var next = slider.find(".right");
prev.on("click",function(){
index-=1
if(index == -1 ){
index=len-1;
}
showPic(index);
})
next.on("click",function(){
index+=1
if(index==len){
index=0;
}
showPic(index);
})
}
//鼠標(biāo)移入時(shí)停止自動輪播
slider.on("mouseover",function(){
clearInterval(timer);
});
//鼠標(biāo)移出時(shí),檢查autoScroll的值若為true則繼續(xù)自動輪播
slider.on("mouseleave",function(){
if (settings.autoScroll) {
timer=setInterval(pic,settings.speed);
}
});
//設(shè)置index的值,并顯示相應(yīng)的圖片
function pic(){
index++;
if (index==len){
index=0;
}
showPic(index);
}
//顯示正確的圖片
function showPic(index){
ul.animate({
left:-index*width
});
slider.find(".num span").eq(index).addClass("active").siblings().removeClass("active");
}
}
})(jQuery);
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 深入研究jQuery圖片懶加載 lazyload.js使用方法
- jquery實(shí)現(xiàn)異步加載圖片(懶加載圖片一種方式)
- 詳解jQuery lazyload 懶加載
- jQuery+ajax實(shí)現(xiàn)滾動到頁面底部自動加載圖文列表效果(類似圖片懶加載)
- 基于jquery的圖片懶加載js
- JQuery插件tablesorter表格排序?qū)崿F(xiàn)過程解析
- jQuery彈框插件使用方法詳解
- jQuery實(shí)現(xiàn)的分頁插件完整示例
- viewer.js一個(gè)強(qiáng)大的基于jQuery的圖像查看插件(支持旋轉(zhuǎn)、縮放)
- jquery插件懶加載的示例
相關(guān)文章
jQuery動態(tài)添加可拖動元素完整實(shí)例(附demo源碼下載)
這篇文章主要介紹了jQuery動態(tài)添加可拖動元素的方法,可實(shí)現(xiàn)簡單的點(diǎn)擊添加元素,并且添加的元素可進(jìn)行拖動操作.涉及jQuery響應(yīng)鼠標(biāo)事件動態(tài)操作頁面元素的相關(guān)技巧,需要的朋友可以參考下2016-06-06
jQuery實(shí)現(xiàn)Twitter的自動文字補(bǔ)齊特效
本文介紹了一款jQuery實(shí)現(xiàn)的文字自動補(bǔ)全特效的插件,該插件可以結(jié)合本地?cái)?shù)據(jù)進(jìn)行一些操作。推薦關(guān)注一下H5的幾種數(shù)據(jù)存儲的方式(localstorage與sessionstorage、IndexedDB、離線緩存manifest文件)2014-11-11
jquery+css實(shí)現(xiàn)動感的圖片切換效果
這篇文章主要介紹了jquery+css實(shí)現(xiàn)動感的圖片切換效果,效果實(shí)現(xiàn)很精致,動畫簡潔大方,推薦給大家,感興趣的小伙伴們可以參考一下2015-11-11
基于jQuery實(shí)現(xiàn)拖拽圖標(biāo)到回收站并刪除功能
這篇文章主要介紹了基于jQuery實(shí)現(xiàn)拖拽圖標(biāo)到回收站并刪除功能,實(shí)現(xiàn)非常簡單,我們直接可以利用jQuery內(nèi)部封裝的拖拽接口即可簡單實(shí)現(xiàn)在網(wǎng)頁上拖拽任意元素的功能,感興趣的小伙伴們可以參考一下2015-11-11

