国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

原生js實(shí)現(xiàn)圖片輪播特效

2019-11-20 10:59:43
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文特意為原生js實(shí)現(xiàn)圖片輪播特效代碼做了下總結(jié),分享給大家供大家參考,歡迎大家學(xué)習(xí)。

運(yùn)行效果圖:

具體代碼:

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>最簡(jiǎn)單的輪播廣告</title>  <style>    body, div, ul, li {      margin: 0;      padding: 0;    }    ul {      list-style-type: none;    }    body {      background: #000;      text-align: center;      font: 12px/20px Arial;    }    #box {      position: relative;      width: 492px;      height: 172px;      background: #fff;      border-radius: 5px;      border: 8px solid #fff;      margin: 10px auto;    }    #box .list {      position: relative;      width: 490px;      height: 170px;      overflow: hidden;      border: 1px solid #ccc;    }    #box .list li {      position: absolute;      top: 0;      left: 0;      width: 490px;      height: 170px;      opacity: 0;      transition: opacity 0.5s linear    }    #box .list li.current {      opacity: 1;    }    #box .count {      position: absolute;      right: 0;      bottom: 5px;    }    #box .count li {      color: #fff;      float: left;      width: 20px;      height: 20px;      cursor: pointer;      margin-right: 5px;      overflow: hidden;      background: #F90;      opacity: 0.7;      border-radius: 20px;    }    #box .count li.current {      color: #fff;      opacity: 0.7;      font-weight: 700;      background: #f60    }  </style></head><body><div id="box">  <ul class="list">    <li class="current" style="opacity: 1;"><img src="img/images04/01.jpg" width="490" height="170"></li>    <li style="opacity: 0;"><img src="img/images04/02.jpg" width="490" height="170"></li>    <li style="opacity: 0;"><img src="img/images04/03.jpg" width="490" height="170"></li>    <li style="opacity: 0;"><img src="img/images04/04.jpg" width="490" height="170"></li>    <li style="opacity: 0;"><img src="img/images04/05.jpg" width="490" height="170"></li>  </ul>  <ul class="count">    <li class="current">1</li>    <li class="">2</li>    <li class="">3</li>    <li class="">4</li>    <li class="">5</li>  </ul></div><script>  var box=document.getElementById('box');  var uls=document.getElementsByTagName('ul');  var imgs=uls[0].getElementsByTagName('li');  var btn=uls[1].getElementsByTagName('li');  var i=index=0; //中間量,統(tǒng)一聲明;  var play=null;  console.log(box,uls,imgs,btn);//獲取正確  //圖片切換, 淡入淡出效果我是用(transition: opacity 0.8s linear)做的,不糾結(jié)、簡(jiǎn)單 在css里面  function show(a){        //方法定義的是當(dāng)傳入一個(gè)下標(biāo)時(shí),按鈕和圖片做出對(duì)的反應(yīng)    for(i=0;i<btn.length;i++ ){      btn[i].className='';    //很容易看懂吧?每個(gè)按鈕都先設(shè)置成看不見(jiàn),然后把當(dāng)前按鈕設(shè)置成可見(jiàn)。      btn[a].className='current';    }    for(i=0;i<imgs.length;i++){ //把圖片的效果設(shè)置和按鈕相同      imgs[i].style.opacity=0;      imgs[a].style.opacity=1;    }  }  //切換按鈕功能,響應(yīng)對(duì)應(yīng)圖片  for(i=0;i<btn.length;i++){    btn[i].index=i;  //不知道你有沒(méi)有發(fā)現(xiàn),循環(huán)里的方法去調(diào)用循環(huán)里的變量體i,會(huì)出現(xiàn)調(diào)到的不是i的變動(dòng)值的問(wèn)題。所以我先在循環(huán)外保存住    btn[i].onmouseover=function(){      show(this.index);      clearInterval(play); //這就是最后那句話追加的功能    }  }  //自動(dòng)輪播方法function autoPlay(){      play=setInterval(function(){ //這個(gè)paly是為了保存定時(shí)器的,變量必須在全局聲明 不然其他方法調(diào)不到 或者你可以調(diào)用auto.play 也許可以但是沒(méi)時(shí)間試了      index++;      index>=imgs.length&&(index=0);//可能有優(yōu)先級(jí)問(wèn)題,所以用了括號(hào),沒(méi)時(shí)間測(cè)試了。      show(index);    },1000)  }  autoPlay();//馬上調(diào)用,我試過(guò)用window.onload調(diào)用這個(gè)方法,但是調(diào)用之后影響到了其他方法,使用autoPlay所以只能這樣調(diào)用了  //div的鼠標(biāo)移入移出事件  box.onmouseover=function(){    clearInterval(play);  };  box.onmouseout=function(){    autoPlay();  };  //按鈕下標(biāo)也要加上相同的鼠標(biāo)事件,不然圖片停止了,定時(shí)器沒(méi)停,會(huì)突然閃到很大的數(shù)字上。 貌似我可以直接追加到之前定義事件中。</script></body></html>

希望本文所述對(duì)大家學(xué)習(xí)javascript程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 广宁县| 和龙市| 九龙城区| 依安县| 习水县| 金坛市| 上栗县| 桂东县| 麻阳| 乐陵市| 肇东市| 醴陵市| 青冈县| 社会| 新绛县| 孟村| 赤水市| 嫩江县| 博罗县| 博客| 萨嘎县| 邵阳县| 综艺| 阿图什市| 景宁| 遂宁市| 建始县| 深泽县| 博罗县| 库车县| 碌曲县| 长沙市| 于田县| 玉溪市| 榆林市| 宜良县| 顺平县| 晴隆县| 扎赉特旗| 泸定县| 城步|