jQuery中實現輪播圖方法


jQuery中實現輪播圖方法

簡單的jq輪播需求,可以如下實現:

引入jq庫:



加入樣式:

<style>

ul{

list-style: none;

position: absolute;

bottom: 0;

left: 175px;

}

ul li{

float: left;

}

ul li a{

display: block;

width: 20px;

height: 20px;

border-radius: 50%;

background-color: #ffbeaa;

margin-left: 5px;

opacity: 0.6;

}

ul li a.active{

background-color: red;

}

.inner{

width: 3000px;

height: 400px;

}

.inner img{

display: block;

float: left;

}

.pic{

width: 600px;

overflow: hidden;

position: relative;

margin:0 auto;

}

.prev,.next{

position: absolute;

top: 190px;

opacity: 0.6;

}

.next{

right: 0;

}



jsp code:

<script>

var num=0;

var timer=null;

var timeout=null;

// 設置鼠標懸浮在按鈕切換事件

$("ul li a").mouseenter(function(event){

//設置定時器前應先判斷有沒有定時器,有就清除

if(timeout){

clearTimeout(timeout);

timeout=null;

}

num=$(this).parent().index();

//設置懸浮時500毫秒時切換,不足500毫秒時不會切換

timeout=setTimeout(changgeMg,500);

return false;

})

//懸浮在窗口時停止輪播

$(".pic").mouseenter(function(){

//清除定時器

clearInterval(timer);

})

//鼠標移除窗口時開始輪播

$(".pic").mouseleave(function(){

//設置一個3秒的自動輪播定時器

timer=setInterval(changeTab,1000);

})

//點擊next切換

$(".next").click(function(){

//設置定時器前應先判斷有沒有定時器,有就清除

if(timeout){

clearTimeout(timeout);

timeout=null;

}

if(num<4){

num++;

}else{

num=0;

}

//設置點擊後500毫秒去切換,如果點擊間隔小於500毫秒不停點擊則不會切換

timeout=setTimeout(changgeMg,500);

//不讓a元素去默認跳轉

return false;

})

//點擊prev切換

$(".prev").click(function(){

if(timeout){

clearTimeout(timeout);

timeout=null;

}

if(num>0){

num--;

}else{

num=4;

}

//設置點擊後500毫秒去切換,如果點擊間隔小於500毫秒不停點擊則不會切換

timeout=setTimeout(changgeMg,500);

return false;

})

//輪播定時器

timer=setInterval(changeTab,1000);

//移動盒子和給當前索引上色

function changgeMg(){

var movePx=num*-600+"px";

$(".inner").animate({"marginLeft":movePx},500);

$("ul li").eq(num).find("a").addClass("active").parent().siblings().find("a").removeClass("active");

}

//定時器函數

function changeTab(){

if (num<4){

num++;

}else{

num=0;

}

changgeMg();

}


分享到:


相關文章: