js原生之焦點(diǎn)圖轉(zhuǎn)換加定時(shí)器實(shí)例
在jQuery之焦點(diǎn)圖轉(zhuǎn)換-左右的基礎(chǔ)上,將jQuery代碼改成js原生,并添加定時(shí)器(setInterval()和clearInterval())
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>焦點(diǎn)圖轉(zhuǎn)換--原生和定時(shí)器</title>
<link rel="stylesheet" href="css/reset.css">
<style type="text/css">
.pic-show{width: 480px;overflow: hidden;}
#pic{width: 1920px;height: 320px;position: relative;}
#pic img{display: block;float: left;}
.pic-show>img{display: block;cursor: pointer;opacity: 0.8; position: absolute;top: 142px;left: 30px;}
.pic-show>img:last-child{display: block; position: absolute;left: 414px; }
ul{width: 120px;height: 18px;position: absolute;top: 280px;left: 185px;}
li{float: left;width: 20px;height: 18px;margin-left: 5px;}
a{display: block;width: 20px;height: 18px;text-decoration: none;border: 1px solid #ccc;border-radius: 50%;background-color: #ccc;opacity: 0.6;}
a:hover{background-color: #094a99;}
.aCss{background-color: #094a99;}
p{width: 480px;text-align: center;}
</style>
</head>
<body>
<div class="pic-show">
<div id="pic">
<img src="images/1.jpg" alt="">
<img src="images/2.jpg" alt="">
<img src="images/3.jpg" alt="">
<img src="images/4.jpg" alt="">
</div>
<img id="prev" src="images/slider-prev.png" alt="">
<img id="next" src="images/slider-next.png" alt="">
</div>
<ul id="list">
<li><a href="#" title="日落"></a></li>
<li><a href="#" title="鋼琴"></a></li>
<li><a href="#" title="大海"></a></li>
<li><a href="#" title="秋色"></a></li>
</ul>
<p id="p">這是一段測(cè)試文字</p>
<script src="js/jquery-3.0.0.js"></script>
<script type="text/javascript">
var num=0;
function G(id){
return document.getElementById(id)
}
var pic = G('pic')
var next = G('next')
var prev = G('prev')
var p = G('p')
var list = G('list')
var arr = G('list').getElementsByTagName('a')
//點(diǎn)擊next
next.onclick=function(){
if(num<3){
num=num+1;
}
else{
num=0;
}
console.log(num);
var mlNum=num * -480+'px';
pic.style.marginLeft=mlNum;
for(var j=0;j<arr.length;j++){
arr[j].style.backgroundColor='#ccc';
}
arr[num].style.backgroundColor="#094a99";
event.preventDefault();
var txt=arr[num].getAttribute("title");
console.log(txt);
p.textContent=txt;
}
//點(diǎn)擊prev
prev.onclick=function(){
if(num>0){
num=num-1;
}
else{
num=3;
}
console.log(num);
var mlNum2=num * -480+'px';
pic.style.marginLeft=mlNum2;
for(var j=0;j<arr.length;j++){
arr[j].style.backgroundColor='#ccc';
}
arr[num].style.backgroundColor="#094a99";
event.preventDefault();
var txt=arr[num].getAttribute("title");
console.log(txt);
p.textContent=txt;
}
for(var i=0;i<arr.length;i++){
arr[i].index=i;//創(chuàng)建索引值
arr[i].onclick=function(event){ num=this.index;
var mlNum3=num * -480+'px'; pic.style.marginLeft=mlNum3;
for(var j=0;j<arr.length;j++){
arr[j].style.backgroundColor='#ccc';
}
this.style.backgroundColor='#094a99';
event.preventDefault();
var txt=this.getAttribute("title");
p.textContent=txt;
}
}
//函數(shù)封裝
function lunbo(){
if(num<3){
num=num+1;
}
else{
num=0;
}
console.log(num);
var mlNum=num * -480+'px';
pic.style.marginLeft=mlNum;
for(var j=0;j<arr.length;j++){
arr[j].style.backgroundColor='#ccc';
}
arr[num].style.backgroundColor="#094a99";
event.preventDefault();
var txt=arr[num].getAttribute("title");
console.log(txt);
p.textContent=txt;
}
//通過(guò)定時(shí)器調(diào)用封裝好的函數(shù)
var stop=setInterval(lunbo,1500);
//鼠標(biāo)放上和離開時(shí)定時(shí)器的狀態(tài)
pic.onmouseenter=function(){
clearInterval(stop)
}
pic.onmouseleave=function(){
stop=setInterval(lunbo,1500)
}
</script>
</body>
</html>
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
- JavaScript定時(shí)器實(shí)現(xiàn)的原理分析
- javascript 定時(shí)器工作原理分析
- JavaScript實(shí)現(xiàn)頁(yè)面定時(shí)刷新(定時(shí)器,meta)
- JS Canvas定時(shí)器模擬動(dòng)態(tài)加載動(dòng)畫
- JavaScript暫停和繼續(xù)定時(shí)器的實(shí)現(xiàn)方法
- JS定時(shí)器使用,定時(shí)定點(diǎn),固定時(shí)刻,循環(huán)執(zhí)行詳解
- JavaScript 定時(shí)器 SetTimeout之定時(shí)刷新窗口和關(guān)閉窗口(代碼超簡(jiǎn)單)
- javascript中SetInterval與setTimeout的定時(shí)器用法
- JavaScript定時(shí)器和優(yōu)化的取消定時(shí)器方法
- Javascript中setTimeOut和setInterval的定時(shí)器用法
- JavaScript學(xué)習(xí)筆記之定時(shí)器
- JS定時(shí)器用法分析【時(shí)鐘與菜單中的應(yīng)用】
相關(guān)文章
ECMAScript 6即將帶給我們新的數(shù)組操作方法前瞻
這篇文章主要介紹了ECMAScript 6即將帶給我們新的數(shù)組操作方法前瞻,需要的朋友可以參考下2015-01-01
微信公眾號(hào)錄音文件的播放與保存(amr文件轉(zhuǎn)mp3)
本文主要介紹了微信公眾號(hào)錄音文件的播放與保存(amr文件轉(zhuǎn)mp3),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
Cpage.js給組件綁定事件的實(shí)現(xiàn)代碼
Cpage.js是一款輕量級(jí)的Mvvm框架,使用TypeScript(JavaScript的超集)開發(fā)。下面通過(guò)本文給大家分享Cpage.js給組件綁定事件的實(shí)現(xiàn)代碼,需要的的朋友參考下吧2017-08-08
js實(shí)現(xiàn)跨域的4種實(shí)用方法原理分析
這篇文章主要分析了js實(shí)現(xiàn)跨域的4種實(shí)用方法原理,主要是使用jsonp跨域,使用window.name來(lái)進(jìn)行跨域,對(duì)這方面感興趣的朋友可以參考一下2015-10-10
bootstrap滾動(dòng)監(jiān)控器使用方法解析
這篇文章主要為大家詳細(xì)解析了bootstrap滾動(dòng)監(jiān)控器使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01
微信小程序?qū)崿F(xiàn)自動(dòng)播放視頻模仿gif動(dòng)圖效果實(shí)例
這篇文章主要給大家介紹了關(guān)于微信小程序?qū)崿F(xiàn)自動(dòng)播放視頻模仿gif動(dòng)圖效果的相關(guān)資料,通過(guò)本文介紹的方法可以實(shí)現(xiàn)自動(dòng)播放視頻,視頻無(wú)控制條無(wú)聲音且自動(dòng)循環(huán)播放,需要的朋友可以參考下2021-07-07
JavaScript DOM節(jié)點(diǎn)操作方法總結(jié)
下面小編就為大家?guī)?lái)一篇JavaScript DOM節(jié)點(diǎn)操作方法總結(jié)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08
微信小程序?qū)崿F(xiàn)簡(jiǎn)單跑馬燈效果
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)簡(jiǎn)單跑馬燈效果 ,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12
JS動(dòng)態(tài)修改表格cellPadding和cellSpacing的方法
這篇文章主要介紹了JS動(dòng)態(tài)修改表格cellPadding和cellSpacing的方法,涉及javascript操作cellPadding和cellSpacing屬性的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03

