原生JS無(wú)縫滑動(dòng)輪播圖
更新時(shí)間:2019年10月22日 17:13:08 作者:Tanjc518
這篇文章主要為大家詳細(xì)介紹了原生JS實(shí)現(xiàn)淡出淡入輪播圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了原生JS無(wú)縫滑動(dòng)輪播圖的具體實(shí)現(xiàn)代碼,供大家參考,具體內(nèi)容如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
ul,div,img{
margin: 0;
padding: 0;
list-style: none;
vertical-align: top;
}
#banner{
width: 400px;
height: 300px;
margin:50px auto;
position: relative;
overflow: hidden;
}
#banner ul{
width: 400px;
position: absolute;
}
#banner li img{
width: 400px;
height: 300px;
text-align: center;
line-height: 300px;
font-size: 40px;
}
#dot{
height: 20px;
position: absolute;
left: calc(50% - 80px);
bottom: 20px;
}
#dot i{
width: 14px;
height: 14px;
border-radius: 50%;
background: #fff;
float: left;
margin: 0 10px;
cursor: pointer;
}
#dot i.current{
background: rgb(161,1,34);
}
#pages{
height: 60px;
width:100%;
position: absolute;
top: calc(50% - 30px);
cursor: pointer;
}
#pages i{
width:30px;
height: 60px;
background: rgb(0,0,0);
font-size: 22px;
color: #fff;
text-align: center;
line-height: 60px;
opacity: 0.5;
font-style: normal;
position: absolute;
user-select: none;
}
#pages i.gt{
right:0;
top: 0;
font-size: 21px;
}
#pages i:hover{
opacity: 0.7;
}
</style>
</head>
<body>
<div id="banner">
<ul id="ul">
<li><img src="images2/imgs (1).jpg" alt=""></li>
<li><img src="images2/imgs (2).jpg" alt=""></li>
<li><img src="images2/imgs (3).jpg" alt=""></li>
<li><img src="images2/imgs (4).jpg" alt=""></li>
<li><img src="images2/imgs (5).jpg" alt=""></li>
<li><img src="images2/imgs (6).jpg" alt=""></li>
<li><img src="images2/imgs (7).jpg" alt=""></li>
<li><img src="images2/imgs (8).jpg" alt=""></li>
</ul>
<div id="dot">
</div>
<div id="pages">
<i class="lt">^</i>
<i class="gt">v</i>
</div>
</div>
<script src="tool.js"></script>
<script type="text/javascript">
var lis = $("li", $("#ul")),
liHeight = lis[0].offsetHeight,
len = lis.length;
c = 1; n = 2;
var first = lis[0].cloneNode(true),
last = lis[len - 1].cloneNode(true);
$("#ul").insertBefore(last, lis[0]);
$("#ul").appendChild(first);
var html = "";
for(var i = 0; i < len; i++)
html += "<i></i>";
len += 2;
$("#dot").innerHTML = html;
$("#ul").style.height = liHeight * len + "px";
$("#ul").style.top = -liHeight + "px";
var dots = $("i", $("#dot"));
dots[0].className = "current";
var tf = true;
function move(){
var _top = -n * liHeight;
animate($("#ul"), {top : _top}, 300, function(){
if(n >= len){
n = 2;
c = 1;
css($("#ul"), "top", -liHeight + "px");
}else if(n <= 1){
c = len - 2;
n = len - 1;
css($("#ul"), "top", c * -liHeight + "px");
}
});
var dotIndex = n - 1;
if(dotIndex === len - 2)
dotIndex = 0;
else if(dotIndex === -1)
dotIndex = len -3;
for(let i =0; i<dots.length; i ++)
dots[i].className = "";
dots[dotIndex].className = "current";
c = n;
n++;
}
var timer = setInterval(move, 3000);
$("#banner").onmouseover = function(){
clearInterval(timer);
}
$("#banner").onmouseout = function(){
timer = setInterval(move, 3000);
}
on($("#dot"), "mouseover", function(e){
e = e || event;
var src = e.target || e.srcElement;
if(src.nodeName === "I"){
var index = Array.from($("i", this)).indexOf(src);
n = index + 1;
move();
}
})
var timeout;
on($("#pages"), "click",function(e){
clearTimeout(timeout);
if(tf){
tf = false;
e = e || event;
var src = e.target || e.srcElement;
if(src.className === "gt"){
n = c - 1;
move();
}else if(src.className === "lt"){
move();
}
}
timeout = setTimeout(function(){
tf = true;
},400)
})
</script>
</body>
</html>
更多關(guān)于輪播圖效果的專題,請(qǐng)點(diǎn)擊下方鏈接查看學(xué)習(xí)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- js實(shí)現(xiàn)滑動(dòng)輪播效果
- js原生實(shí)現(xiàn)移動(dòng)端手指滑動(dòng)輪播圖效果的示例
- js實(shí)現(xiàn)從左向右滑動(dòng)式輪播圖效果
- JS實(shí)現(xiàn)自動(dòng)輪播圖效果(自適應(yīng)屏幕寬度+手機(jī)觸屏滑動(dòng))
- JS實(shí)現(xiàn)touch 點(diǎn)擊滑動(dòng)輪播實(shí)例代碼
- js實(shí)現(xiàn)固定寬高滑動(dòng)輪播圖效果
- javascript經(jīng)典特效分享 手風(fēng)琴、輪播圖、圖片滑動(dòng)
- js實(shí)現(xiàn)支持手機(jī)滑動(dòng)切換的輪播圖片效果實(shí)例
- 原生js實(shí)現(xiàn)移動(dòng)開發(fā)輪播圖、相冊(cè)滑動(dòng)特效
- js實(shí)現(xiàn)上下滑動(dòng)輪播
相關(guān)文章
ionic由于使用了header和subheader導(dǎo)致被遮擋的問(wèn)題的兩種解決方法
這篇文章主要介紹了ionic由于使用了header和subheader導(dǎo)致被遮擋的問(wèn)題的兩種解決方法,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09
分享Javascript中最常用的55個(gè)經(jīng)典小技巧
這篇文章主要介紹了Javascript中最常用的55個(gè)經(jīng)典小技巧。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-11-11
JavaScript算法實(shí)例之求二叉樹從根到葉的所有路徑和
如果你希望求某一特定路徑(例如從根到葉子)上數(shù)字的和,那么問(wèn)題就轉(zhuǎn)變?yōu)榱恕扒蠖鏄鋸母饺~的所有路徑和”,所以本文給大家介紹了如何使用JavaScript求二叉樹從根到葉的所有路徑和,需要的朋友可以參考下2023-10-10
網(wǎng)絡(luò)復(fù)制內(nèi)容時(shí)常用的正則+editplus
有時(shí)侯我們?cè)诳截惥W(wǎng)頁(yè)上的內(nèi)容的時(shí)候,總是有一些,開頭的數(shù)字,需要替換掉2006-11-11

