欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js改變透明度實(shí)現(xiàn)輪播圖的算法

 更新時(shí)間:2020年08月24日 15:05:48   作者:有點(diǎn)追求  
這篇文章主要為大家詳細(xì)介紹了js改變透明度實(shí)現(xiàn)輪播圖的算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

前面有分享過(guò)改變層級(jí)的輪播圖算法,今天繼續(xù)利用透明度來(lái)實(shí)現(xiàn)無(wú)位移的輪播圖算法。

實(shí)現(xiàn)邏輯:將所有要輪播的圖片全部定位到一起,即一層一層摞起來(lái),并且利用層級(jí)的屬性調(diào)整正確的圖片順序,將圖片的透明度全部設(shè)置為0,然后在讓初始的第一張圖片的透明度為1即可,具體算法如下:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <title>改變透明度算法(經(jīng)典)</title>
 <style media="screen">
 * {
 margin: 0;
 padding: 0;
 }
 .wrap {
 width: 60%;
 margin: auto;
 position: relative;
 }
 .wrap img {
 width: 100%;
 position: absolute;
 left: 0;
 top: 0;
 transition: 2s;
 }
 .wrap img:nth-child(1) {
 position: relative;
 }
 .wrap .follow {
 width: 150px;
 height: 30px;
 margin: auto;
 display: flex;
 justify-content: space-between;
 }
 .wrap .follow span {
 width: 10px;
 height: 10px;
 border-radius: 50%;
 border: 3px solid gray;
 }
 .wrap .follow span:hover {
 cursor: pointer;
 }
 </style>
 </head>
 <body>
 <div class="wrap">
 <img src="img/01.jpg" alt="" />
 <img src="img/02.jpg" alt="" />
 <img src="img/03.jpg" alt="" />
 <img src="img/04.jpg" alt="" />
 <input id="leftBut" type="button" name="name" value="◀︎">
 <input id="rightBut" type="button" name="name" value="▶︎">
 <div class="follow">
 <span></span>
 <span></span>
 <span></span>
 <span></span>
 </div>
 </div>
 </body>
 <script type="text/javascript">
 // 獲取所需元素
var images = document.querySelectorAll('.wrap img');
 var spans = document.querySelectorAll('.follow span');
 var leftBut = document.getElementById('leftBut');
 var rightBut = document.getElementById('rightBut');
 // 定義有參函數(shù)
function showImage(index) {
 for (var i = 0; i < images.length; i++) {
 spans[i].index = i;//自定義屬性,得到對(duì)應(yīng)的下標(biāo)
images[i].index = i;//自定義屬性,得到對(duì)應(yīng)的下標(biāo)
images[i].style.zIndex = 100 - i;//為圖片排列順序
images[i].style.opacity = '0';//將圖片透明度全部賦值為0
 spans[i].style.background = 'gray';//圓點(diǎn)北京色全部設(shè)置為黑色
}
 //將傳入?yún)?shù)下標(biāo)值的圖片透明度賦值為 1
 images[index].style.opacity = '1';
 //將傳入?yún)?shù)下標(biāo)值的圖片的背景色賦值為white
 spans[index].style.background = 'white';
 }
 showImage(0);//初始設(shè)置下標(biāo)為0的圖片和圓點(diǎn)的樣式
 
var count = 1;//獲取計(jì)數(shù)器
// 定義自動(dòng)輪播函數(shù)
function imageMove() {
 // 判斷count的值如果能被4整除,則將count重新賦值為0;
if (count % 4 == 0) {
 count = 0;
 }
 // 將count值當(dāng)做參數(shù)傳給函數(shù)showImage();
 showImage(count);
 count++;//執(zhí)行一次 +1
 }
 // 設(shè)置兩秒調(diào)用一次函數(shù)imageMove(),并且賦值給imageInitailMove
 var imageInitailMove = setInterval('imageMove()', 2000);
 // 向左點(diǎn)擊事件
leftBut.onclick = function() {
 // 先清除定時(shí)器
clearInterval(imageInitailMove);
 // 由于和自動(dòng)輪方向相反所以要判斷count的值當(dāng)值為0時(shí),重新賦值為4,繼續(xù)循環(huán)
if (count == 0) {
 count = 4;
 }
 count--;
showImage(count);//調(diào)用函數(shù)count先自-
imageInitailMove = setInterval('imageMove()', 2000);
 }
 // 向右的點(diǎn)擊事件
rightBut.onclick = function() {
 clearInterval(imageInitailMove);
 imageMove();//由于和自動(dòng)輪播的方向相同所以直接調(diào)用
// 重新為定時(shí)器賦值
imageInitailMove = setInterval('imageMove()', 2000);
 }
 // 圓點(diǎn)的點(diǎn)擊事件
for (var i = 0; i < spans.length; i++) {
 spans[i].onclick = function() {
 clearInterval(imageInitailMove);
 // 將當(dāng)前點(diǎn)擊的圓點(diǎn)的下標(biāo)值賦值給count
 count = event.target.index;
 // 調(diào)用函數(shù)
showImage(count);
 imageInitailMove = setInterval('imageMove()', 2000);
 }
 }
 </script>
</html>

精彩專(zhuān)題分享:jQuery圖片輪播 JavaScript圖片輪播 Bootstrap圖片輪播

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JavaScript的漂亮的代碼片段

    JavaScript的漂亮的代碼片段

    記錄我看到之后,不得不贊的代碼片段。本貼板內(nèi)容將不斷更新,歡迎關(guān)注
    2013-06-06
  • 慕課網(wǎng)題目之js實(shí)現(xiàn)抽獎(jiǎng)系統(tǒng)功能

    慕課網(wǎng)題目之js實(shí)現(xiàn)抽獎(jiǎng)系統(tǒng)功能

    這篇文章主要為大家詳細(xì)介紹了慕課網(wǎng)題目之js抽獎(jiǎng)系統(tǒng)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • 利用CSS、JavaScript及Ajax實(shí)現(xiàn)圖片預(yù)加載的方法

    利用CSS、JavaScript及Ajax實(shí)現(xiàn)圖片預(yù)加載的方法

    預(yù)加載圖片是提高用戶(hù)體驗(yàn)的一個(gè)很好方法,實(shí)現(xiàn)圖片預(yù)加載可以使用css、JavaScript、Ajax三種方法。下面逐一給大家介紹利用CSS、JavaScript及Ajax實(shí)現(xiàn)圖片預(yù)加載的方法,需要的朋友參考下吧
    2016-11-11
  • 詳解Howler.js Web音頻播放終極解決方案

    詳解Howler.js Web音頻播放終極解決方案

    這篇文章主要介紹了詳解Howler.js Web音頻播放終極解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • TypeScript面向?qū)ο蟪敿?xì)分析

    TypeScript面向?qū)ο蟪敿?xì)分析

    面向?qū)ο蟆脒M(jìn)行執(zhí)行某個(gè)事件,就去找事件對(duì)應(yīng)的對(duì)象,把事情落實(shí)到對(duì)象身上,在程序中一切皆是對(duì)象,對(duì)象包含屬性和方法,面向?qū)ο笕筇卣鳎悍庋b、繼承、多態(tài)
    2022-10-10
  • javascript中的this詳解

    javascript中的this詳解

    avaScript 中的 this 關(guān)鍵字,深入淺出的分析其在不同情況下的含義,形成這種情況的原因以及 Dojo 等 JavaScript 工具中提供的綁定 this 的方法??梢赃@樣說(shuō),正確掌握了 JavaScript 中的 this 關(guān)鍵字,才算邁入了 JavaScript 這門(mén)語(yǔ)言的門(mén)檻。
    2014-12-12
  • 詳解JS ES6編碼規(guī)范

    詳解JS ES6編碼規(guī)范

    本章節(jié)討論使用ES6編碼風(fēng)格到代碼中需要注意的點(diǎn)。通過(guò)記住這些關(guān)鍵點(diǎn),可以讓我們寫(xiě)出更優(yōu)美的、可讀性更強(qiáng)的JavaScript ES6風(fēng)格的代碼。
    2021-05-05
  • 微信小程序的tab選項(xiàng)卡的實(shí)現(xiàn)效果

    微信小程序的tab選項(xiàng)卡的實(shí)現(xiàn)效果

    這篇文章主要介紹了微信小程序的tab選項(xiàng)卡的實(shí)現(xiàn)效果,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 統(tǒng)計(jì)出現(xiàn)最多的字符次數(shù)的js代碼

    統(tǒng)計(jì)出現(xiàn)最多的字符次數(shù)的js代碼

    一小段代碼,經(jīng)常出現(xiàn)在面試筆試題中的:統(tǒng)計(jì)一個(gè)字符串中出現(xiàn)最多的字符的次數(shù),可以是英文或者數(shù)字。
    2010-12-12
  • DataTables添加額外的查詢(xún)參數(shù)和刪除columns等無(wú)用參數(shù)實(shí)例

    DataTables添加額外的查詢(xún)參數(shù)和刪除columns等無(wú)用參數(shù)實(shí)例

    下面小編就為大家?guī)?lái)一篇DataTables添加額外的查詢(xún)參數(shù)和刪除columns等無(wú)用參數(shù)實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07

最新評(píng)論