基于javascript實現(xiàn)移動端輪播圖效果
更新時間:2020年12月21日 15:58:37 作者:A.香辣雞腿堡
這篇文章主要為大家詳細介紹了基于javascript實現(xiàn)移動端輪播圖效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了js實現(xiàn)移動端輪播圖效果的具體代碼,供大家參考,具體內(nèi)容如下
插件使用:
1.zepto.js
2.touch.js
實現(xiàn)效果

html部分:
<!-- 結(jié)構(gòu) -->
<!-- li*6>a[href=#]>img[src=./images/$.jpg] -->
<div class="box">
<ul>
<!-- 為了無縫連接,我們在圖片這里前后增加了2個圖片 -->
<li>
<a href="#" ><img src="./images/6.jpg" alt=""></a>
</li>
<li>
<a href="#" ><img src="./images/1.jpg" alt=""></a>
</li>
<li>
<a href="#" ><img src="./images/2.jpg" alt=""></a>
</li>
<li>
<a href="#" ><img src="./images/3.jpg" alt=""></a>
</li>
<li>
<a href="#" ><img src="./images/4.jpg" alt=""></a>
</li>
<li>
<a href="#" ><img src="./images/5.jpg" alt=""></a>
</li>
<li>
<a href="#" ><img src="./images/6.jpg" alt=""></a>
</li>
<li>
<a href="#" ><img src="./images/1.jpg" alt=""></a>
</li>
</ul>
</div>
css部分:
* {
margin: 0;
padding: 0;
}
ul {
list-style: none;
}
.box {
width: 100%;
overflow: hidden;
}
ul {
/* 把li變成8張之后,需要,把ul的寬度變寬 */
width: 800%;
/* transition: all 1s; */
}
li {
float: left;
width: 12.5%;
}
img {
width: 100%;
}
js部分:
//獲取DOM
var box = $(".box");
var img = $("ul img");
var ul = $("ul");
var imgWidth = img.width();
var index = 1;
var right = index * imgWidth;
ul.css("transform", `translateX(-${right}px)`);
setTimeout(function() {
ul.css("transition", "all 500ms");
}, 100);
//往左滑,坐標在增大
box.on("swipeLeft", function() {
index++;
// if (index == img.length) {
// index = 0;
// }
var left = index * imgWidth;
ul.css("transform", `translateX(-${left}px)`);
});
//往左滑,坐標在增大
box.on("swipeRight", function() {
index--;
// if (index == -1) {
// index = img.length - 1;
// }
var right = index * imgWidth;
ul.css("transform", `translateX(-${right}px)`);
});
//過渡結(jié)束之后時進行
ul.on("transitionend", function() {
//1.判讀 index
//往左面滑(滑倒倒數(shù)第一張的時候,其實顯示的已經(jīng)是用戶想看的第一張)
if (index == img.length - 1) {
index = 1;
//index修改完畢之后需要重新執(zhí)行一遍
var right = index * imgWidth;
ul.css("transform", `translateX(-${right}px)`);
//2.取消過渡效果
ul.css("transition", "none");
//3.已經(jīng)判斷完畢了,重新打開過渡效果
//這里設置一個1毫秒的延遲,否則會一起進行
setTimeout(function() {
ul.css("transition", "all 500ms");
}, 1);
}
//1.判讀 index
//往右面滑(滑倒index為0的時候,顯示的是客戶想看的第6張圖)
if (index == 0) {
//2.取消過渡效果
ul.css("transition", "none");
index = img.length - 2;
//index修改完畢之后需要重新執(zhí)行一遍
var left = index * imgWidth;
ul.css("transform", `translateX(-${left}px)`);
//延遲開啟過渡效果
setTimeout(function() {
ul.css("transition", "all 500ms");
}, 1)
}
})
代碼目前就分享到這里,歡迎大家有問題積極評論。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
帶你領(lǐng)略Object.assign()方法的操作方式
這篇文章主要介紹了帶你領(lǐng)略Object.assign()方法的操作方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08
JS獲取CSS樣式(style/getComputedStyle/currentStyle)
這篇文章主要為大家介紹了JS獲取CSS樣式的方法,介紹了CSS樣式的三種分類情況,對獲取樣式做一個簡單的封裝,感興趣的小伙伴們可以參考一下2016-01-01
登陸成功后自動計算秒數(shù)執(zhí)行跳轉(zhuǎn)
本文實現(xiàn)的是這樣的一個功能登陸成功后自動查秒跳轉(zhuǎn),具體示例如下,不了解的朋友可以學習下哦2014-01-01
淺談addEventListener和attachEvent的區(qū)別
下面小編就為大家?guī)硪黄獪\談addEventListener和attachEvent的區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07
javascript foreach中如何獲取數(shù)組下標/index
這篇文章主要介紹了javascript foreach中如何獲取數(shù)組下標/index問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07

