基于JavaScript實(shí)現(xiàn)仿京東圖片輪播效果
js實(shí)現(xiàn)仿京東圖片輪播效果,當(dāng)鼠標(biāo)劃在窗口上面停止計(jì)時(shí)器,鼠標(biāo)離開窗口,開啟計(jì)時(shí)器,鼠標(biāo)劃在頁簽上面,停止計(jì)時(shí)器,手動(dòng)切換,通過定義計(jì)時(shí)器封裝函數(shù)run,封裝函數(shù)changeOption,實(shí)現(xiàn)此效果,代碼簡單易懂,需要的小伙伴直接復(fù)制拷貝轉(zhuǎn)走吧。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
*{margin:0;padding:0;list-style:none;}
a{text-decoration: none;color: #fff;}
#flash{width: 730px;height: 454px;margin: 100px auto;position: relative;cursor: pointer;}
#pic li{position: absolute;top: 0;left: 0;z-index: 1;display: none;}
#num{position: absolute;left: 40%;bottom: 10px;z-index: 2;cursor:default;}
#num li{float: left;width: 20px;height: 20px;border-radius: 50%;background: #666;margin: 3px;line-height: 20px;text-align: center;color: #fff;cursor: pointer;}
#num li.active{background: #f00;}
.arrow{height: 60px;width: 30px;line-height: 60px;text-align: center;display: block;position: absolute;top:45%;z-index: 3;display: none;}
.arrow:hover{background: rgba(0,0,0,0.7);}
#flash:hover .arrow{display: block;}
#left{left: 2%;}
#right{right: 2%;}
</style>
<script type="text/javascript">
function $(id) {
return typeof id==='string'?document.getElementById(id):id;
}
window.onload=function(){
var index=0;
var timer=null;
var pic=$("pic").getElementsByTagName("li");
var num=$("num").getElementsByTagName("li");
var flash=$("flash");
var left=$("left");
var right=$("right");
//單擊左箭頭
left.onclick=function(){
index--;
if (index<0) {index=num.length-1};
changeOption(index);
}
//單擊右箭頭
right.onclick=function(){
index++;
if (index>=num.length) {index=0};
changeOption(index);
}
//鼠標(biāo)劃在窗口上面,停止計(jì)時(shí)器
flash.onmouseover=function(){
clearInterval(timer);
}
//鼠標(biāo)離開窗口,開啟計(jì)時(shí)器
flash.onmouseout=function(){
timer=setInterval(run,2000)
}
//鼠標(biāo)劃在頁簽上面,停止計(jì)時(shí)器,手動(dòng)切換
for(var i=0;i<num.length;i++){
num[i].id=i;
num[i].onmouseover=function(){
clearInterval(timer);
changeOption(this.id);
}
}
//定義計(jì)時(shí)器
timer=setInterval(run,2000)
//封裝函數(shù)run
function run(){
index++;
if (index>=num.length) {index=0};
changeOption(index);
}
//封裝函數(shù)changeOption
function changeOption(curindex){
console.log(index)
for(var j=0;j<num.length;j++){
pic[j].style.display="none";
num[j].className="";
}
pic[curindex].style.display="block";
num[curindex].className="active";
index=curindex;
}
}
</script>
</head>
<body>
<div id="flash">
<ul id="pic">
<li style="display:block"><img src="http://img13.360buyimg.com/da/jfs/t2242/262/578407619/87636/4ffe0c5/56187ed2Nfed9a5b3.jpg" alt=""></li>
<li><img src="http://img13.360buyimg.com/da/jfs/t2143/111/577347825/96150/e27180bd/561889b3N42ee62b5.jpg" alt=""></li>
<li><img src="http://img20.360buyimg.com/da/jfs/t1825/234/1750370913/97529/b9229832/560b5ad3N054605f7.jpg" alt=""></li>
<li><img src="http://img10.360buyimg.com/da/jfs/t2026/215/573306345/95654/a0211937/5618a735N1b3d8423.jpg" alt=""></li>
<li><img src="http://img20.360buyimg.com/da/jfs/t2065/362/579832759/78899/6f349917/5618c680N3752bacc.jpg" alt=""></li>
<li><img src="http://img10.360buyimg.com/da/jfs/t2023/45/384256123/101565/9b6e5daf/5604bdceN8c7d2ccf.jpg" alt=""></li>
</ul>
<ol id="num">
<li class="active">1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
</ol>
<a href="javascript:;" class="arrow" id="left"><</a>
<a href="javascript:;" class="arrow" id="right">></a>
</div>
</body>
</html>
以上代碼是不是很簡單啊,基于javascrit實(shí)現(xiàn)仿金東圖片輪播效果就制作成功了,由于時(shí)間原因沒有給大家展示效果圖,還請(qǐng)大家見諒。
相關(guān)文章
JS限制input框只能輸入0~100的正整數(shù)的兩種方法
本文給大家分享兩種方法實(shí)現(xiàn)JS限制input框只能輸入0~100的正整數(shù),方法二是直接通過設(shè)置三個(gè)屬性,type、min、max即可,就可以設(shè)置0~100的整數(shù),感興趣的朋友跟隨小編一起看看吧2024-02-02
用javascript實(shí)現(xiàn)畫圖效果的代碼
用javascript實(shí)現(xiàn)畫圖效果的代碼...2007-07-07
javascript設(shè)計(jì)模式 – 訪問者模式原理與用法實(shí)例分析
這篇文章主要介紹了javascript設(shè)計(jì)模式 – 訪問者模式,結(jié)合實(shí)例形式分析了javascript訪問者模式基本概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04
js使用正則表達(dá)式對(duì)身份證號(hào)的判斷
這篇文章主要給大家介紹了關(guān)于js使用正則表達(dá)式對(duì)身份證號(hào)的判斷的相關(guān)資料,在用戶注冊(cè)頁面有些需求要求的比較嚴(yán)格,需要對(duì)身份證驗(yàn)證是否合法,通過此功能嚴(yán)格此系統(tǒng)軟件,從而過濾到很多,需要的朋友可以參考下2023-08-08
推薦4個(gè)原生javascript常用的函數(shù)
這篇文章主要介紹了推薦4個(gè)原生javascript常用的函數(shù),需要的朋友可以參考下2015-01-01

