js banner輪播圖優(yōu)化

今早寫了一個(gè)發(fā)布之后,又修改了一下,優(yōu)化一下代碼

html:

<div id="dlunbo">?

<!-- 圖片 -->

? ? ? ? ? <div id="igs"></div>


<!--按鈕 -->

? ? ? ? ? <div id="tabs"></div>

<!-- 左邊按鈕 -->

? ? ? ? ? <div class="btn btn1">&lt;</div>

<!--右邊按鈕 -->

? ? ? ? ?<div class="btn btn2">&gt;</div>

</div>

css:

*{

padding: 0;

margin: 0;

font-family: "微軟雅黑";

}

#dlunbo{

width: 500px;

height: 333px;

position: relative;

}

#igs .ig,#dlunbo img{

width: 500px;

height: 333px;

}

.ig{

position: absolute;

}

#tabs{

position: absolute;

bottom: 10px;

left: 50%;

margin-left: -80px;

}

.tag{

width: 15px;

height: 15px;

border: 1px solid #fff;

float: left;

border-radius: 50%;

margin-right: 5px;

}

.tag:hover{

background: red;

}

.bg{

background: red;

}

.btn{

width: 30px;

height: 40px;

background: rgba(0,0,0,0.5);

position: absolute;

top: 50%;

margin-top: -20px;

color: #fff;

font-size: 25px;

line-height: 40px;

text-align: center;

}

.btn1{

left: 10px;

}

.btn2{

right: 10px;

}

js:

var timer; //定時(shí)器的名字

var i = 0;

$(function(){

? ? ? ? // 第一個(gè)圖片顯示,其余的圖片隱藏,找兄弟元素.siblings().

? ? ? ? $(".ig").eq(0).show().siblings().hide();

? ? ? ? // 定時(shí)器

? ? ? ? ?startLunbo();


? ? ? ? ? ?// 左點(diǎn)擊

? ? ? ? ? ?$(".btn1").click(function(){

? ? ? ? ? ? ? ? ? ? ? ? clearInterval(timer);//清除定時(shí)器

? ? ? ? ? ? ? ? ? ? ? ? i--;

? ? ? ? ? ? ? ? ? ? ? ? ?var imgs = $(".ig").length;

? ? ? ? ? ? ? ? ? ? ? ? ?if(i == -1){

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?i = imgs-1;

? ? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? ? ? ? // 停止圖片輪播

? ? ? ? ? ? ? ? ? ? ? ? ? showPicTab();

? ? ? ? ? ? ? ? ? ? ? ? ? // 開始輪播

? ? ? ? ? ? ? ? ? ? ? ? ? startLunbo();

? ? ? ? ? ? ? ?})

? ? ? ? ? ? ? ?// 右點(diǎn)擊

? ? ? ? ? ? ? ?$(".btn2").click(function(){

? ? ? ? ? ? ? ? ? ? ? ? ? ? clearInterval(timer);//清除定時(shí)器

? ? ? ? ? ? ? ? ? ? ? ? ? ? i++;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?var imgs = $(".ig").length;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(i == imgs){

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? i=0;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// 停止圖片輪播

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?showPicTab();

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // 開始輪播

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?startLunbo();

? ? ? ? ? ? ? ? ? ?})

});

// 封裝 停止

function showPicTab(){

? ? ? ? ? ? ? ?// stop() 方法停止當(dāng)前正在運(yùn)行的動(dòng)畫。

? ? ? ? ? ? ? ?$(".ig").eq(i).stop(true,true).fadeIn(300).siblings().stop(true,true).fadeOut(300);

? ? ? ? ? ? ? ?$(".tag").eq(i).addClass("bg").siblings().removeClass("bg");

}

// 自動(dòng)播放

function startLunbo(){

? ? ? timer = setInterval(function(){

? ? ? ? ? ? ? i++;

? ? ? ? ? ? ? ?var imgs = $(".ig").length;

? ? ? ? ? ? ? ?// alert(imgs);

? ? ? ? ? ? ? ?if(i == imgs){

? ? ? ? ? ? ? ? ? ? ? ? ?i=0;

? ? ? ? ? ? ? ? ?}

? ? ? ? ? ? ? ? ? showPicTab();

? ? ? ? ?},3000);

}

// 寫json數(shù)據(jù)

var img = [

? ? ? ? ? ?{img: "1.jpg"},

? ? ? ? ? ?{img: "2.jpg"},

? ? ? ? ? ? {img: "3.jpg"},

? ? ? ? ? ? {img: "4.jpg"},

? ? ? ? ? ? {img: "5.jpg"},

? ? ? ? ? ? {img: "6.jpg"},

];

window.onload=function(){

? ? ? ? ?igs();

? ? ? ? ? tabs();

? ? ? ? ? $(".tag:first-child").addClass("bg");

//把這段代碼拿到這里,因?yàn)榘粹o是js加載進(jìn)入

// 鼠標(biāo)經(jīng)過的時(shí)候

$(".tag").hover(function(){

clearInterval(timer);//清除定時(shí)器

i = $(this).index(); //獲取到當(dāng)前鼠標(biāo)放在那個(gè)下標(biāo)的索引

// 停止圖片輪播

showPicTab();

},function(){

// 開始輪播

startLunbo();

});

}

// 圖片

function igs(){

? ? ? ? ?var igs="<div class='ig-conent'>";

? ? ? ? ?for(var i=0;i<img.length;i++){

? ? ? ? ? ? ? ? ? ? ? igs+="<div class='ig'></img src='images/"+(i+1)+".jpg' alt=''></div>;

? ? ? ? ?}

? ? ? ? ?igs+="</div>";

? ? ? ? ?document.getElementById("igs").innerHTML = igs;

}

// 按鈕

function tabs(){

? ? ? ? ? var tabs="<div class='tabs'>";

? ? ? ? ? for(var i=0;i<img.length;i++){

? ? ? ? ? ? ? ? ? ? ?tabs+="<div class='tag'></div>";

? ? ? ? ? }

? ? ? ? ? tabs+="</div>";

? ? ? ? ? document.getElementById("tabs").innerHTML = tabs;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • banner輪播圖在大多數(shù)的網(wǎng)頁上都會(huì)有的,所以大多數(shù)情況下都會(huì)使用到這些就是代碼,有些人大多數(shù)是使用插件寫出來的...
    花花0825閱讀 1,776評(píng)論 2 6
  • 以下是常用的代碼收集,學(xué)習(xí)用。轉(zhuǎn)自豪情博客園 1. PC - js 返回指定范圍的隨機(jī)數(shù)(m-n之間)的公式 re...
    自由加咖啡閱讀 1,123評(píng)論 0 1
  • 單例模式 適用場(chǎng)景:可能會(huì)在場(chǎng)景中使用到對(duì)象,但只有一個(gè)實(shí)例,加載時(shí)并不主動(dòng)創(chuàng)建,需要時(shí)才創(chuàng)建 最常見的單例模式,...
    Obeing閱讀 2,320評(píng)論 1 10
  • 工廠模式類似于現(xiàn)實(shí)生活中的工廠可以產(chǎn)生大量相似的商品,去做同樣的事情,實(shí)現(xiàn)同樣的效果;這時(shí)候需要使用工廠模式。簡單...
    舟漁行舟閱讀 8,131評(píng)論 2 17
  • 不知不覺,爺爺去世將近十年了,但我仍然覺得他的離去就像是昨天的事,而他的音容笑貌也并沒有因?yàn)闀r(shí)間的流逝而慢慢淡忘,...
    愚小佳閱讀 399評(píng)論 0 0

友情鏈接更多精彩內(nèi)容