在jQuery之焦点图转换-左右的基础上,将jQuery代码改成js原生,并添加定时器(setInterval()和clearInterval())
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>焦点图转换--原生和定时器</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">这是一段测试文字</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') //点击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; } //点击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;//创建索引值 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; } } //函数封装 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; } //通过定时器调用封装好的函数 var stop=setInterval(lunbo,1500); //鼠标放上和离开时定时器的状态 pic.onmouseenter=function(){ clearInterval(stop) } pic.onmouseleave=function(){ stop=setInterval(lunbo,1500) } </script> </body> </html>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持小牛知识库!
本文向大家介绍原生js实现焦点轮播图效果,包括了原生js实现焦点轮播图效果的使用技巧和注意事项,需要的朋友参考一下 原生js焦点轮播图主要注意这几点: 1、前后按钮实现切换,同时注意辅助图 2、中间的button随着前后按钮对应切换,同时按button也能跳转到相应的index 3、间隔调用与无限轮播。 4、注意在动画时要停止按钮,或者说上一个动画完毕下一个动画才能执行 5、另外在切换图片的时候,
本文向大家介绍JS焦点图,JS 多个页面放多个焦点图的实例,包括了JS焦点图,JS 多个页面放多个焦点图的实例的使用技巧和注意事项,需要的朋友参考一下 如下所示: 以上这篇JS焦点图,JS 多个页面放多个焦点图的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
本文向大家介绍JS实现图片高斯模糊切换效果的焦点图实例,包括了JS实现图片高斯模糊切换效果的焦点图实例的使用技巧和注意事项,需要的朋友参考一下 焦点图相信对大家来说都不陌生,本文给大家分享的是一种图片高斯模糊切换效果的焦点图,下面话不多说了,来看看实现的效果图和实例代码吧。 效果图 实例代码 更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript切换特效与技巧总结》
本文向大家介绍js实现非常简单的焦点图切换特效实例,包括了js实现非常简单的焦点图切换特效实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js实现非常简单的焦点图切换特效的方法。分享给大家供大家参考。具体分析如下: 这是一个非常非常简单的焦点图(更像滑动门),可供初学者借鉴参考 希望本文所述对大家的javascript程序设计有所帮助。
本文向大家介绍JS原生带小白点轮播图实例讲解,包括了JS原生带小白点轮播图实例讲解的使用技巧和注意事项,需要的朋友参考一下 咱们刚刚说了js原生轮播图,现在给他加上可以随着一起走动的小圆点吧! css代码: HTML代码: JS部分: 就是这样!!你懂了吗?? 以上这篇JS原生带小白点轮播图实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
本文向大家介绍jQuery实现左右切换焦点图,包括了jQuery实现左右切换焦点图的使用技巧和注意事项,需要的朋友参考一下 演示图: 代码: 以上所述就是本文的全部内容了,希望大家能够喜欢。