js实现图片轮播效果学习笔记


Posted in Javascript onJuly 26, 2017

本文实例为大家分享了js实现图片轮播效果的具体代码,供大家参考,具体内容如下

具体思路:

一、页面加载、获取整个容器、所有放数字索引的li及放图片列表的ul、定义放定时器的变量、存放当前索引的变量index

二、添加定时器,每隔2秒钟index递增一次、调用一次切换图片函数

提示:

1、 index不能一直无限制的递增下去,需做判断
2、调用切换图片函数时需将递增之后的index作为参数传过去

三、定义图片切换函数

提示:

  1.遍历所有放数字索引的li,将每个li上的类去掉。
  2.根据传递过来的index值找到对应的li给它添加类设为当前高亮显示。
  3. 根据传递过来的index值计算放图片的ul的top值
  4. 改变index的值,让其等于传递过来的参数值

注意:放图片的ul的top值=-index*单张图片的高度(所有图片必须等高)

四、鼠标划过整个容器时,图片停止切换,离开继续

提示:

1.  鼠标滑过整个容器时清除定时器
2.  鼠标离开时继续执行定时器,切换至下一张图片

五、遍历所有放数字的li,且给他们添加索引、鼠标滑过时切换至对应的图片。

鼠标滑过时调用图片切换函数,将滑过的li的索引传过去。

具体代码如下:

<!doctype html> 
<html lang="en"> 
<head> 
 <meta charset="UTF-8"> 
 <title>Document</title> 
 <style> 
 *{margin:0; 
 padding:0; 
 list-style:none;} 
 .wrap{height:170px; 
 width:490px; 
 margin:60px auto; 
 overflow: hidden; 
 position: relative; 
 margin:100px auto;} 
 .wrap ul{position:absolute;}  
 .wrap ul li{height:170px;} 
 .wrap ol{position:absolute; 
 right:5px; 
 bottom:10px;} 
 .wrap ol li{height:20px; width: 20px; 
 background:#ccc; 
 border:solid 1px #666; 
 margin-left:5px; 
 color:#000; 
 float:left; 
 line-height:center; 
 text-align:center; 
 cursor:pointer;} 
 .wrap ol .on{background:#E97305; 
 color:#fff;} 
  
 </style> 
 <script type="text/javascript"> 
 window.onload=function(){ 
 var wrap=document.getElementById('wrap'), 
 pic=document.getElementById('pic').getElementsByTagName("li"), 
 list=document.getElementById('list').getElementsByTagName('li'), 
 index=0, 
 timer=null; 
  
 // 定义并调用自动播放函数 
 timer = setInterval(autoPlay, 2000); 
  
 // 鼠标划过整个容器时停止自动播放 
 wrap.onmouseover = function () { 
 clearInterval(timer); 
 } 
  
 // 鼠标离开整个容器时继续播放至下一张 
 wrap.onmouseout = function () { 
 timer = setInterval(autoPlay, 2000); 
 } 
 // 遍历所有数字导航实现划过切换至对应的图片 
 for (var i = 0; i < list.length; i++) { 
 list[i].onmouseover = function () { 
 clearInterval(timer); 
 index = this.innerText - 1; 
 changePic(index); 
 }; 
 }; 
  
 function autoPlay () { 
 if (++index >= pic.length) index = 0; 
 changePic(index); 
 } 
  
 // 定义图片切换函数 
 function changePic (curIndex) { 
 for (var i = 0; i < pic.length; ++i) { 
 pic[i].style.display = "none"; 
 list[i].className = ""; 
 } 
 pic[curIndex].style.display = "block"; 
 list[curIndex].className = "on"; 
 } 
  
 }; 
  
 </script>  
</head> 
<body> 
 <div class="wrap" id='wrap'> 
 <ul id="pic"> 
 <li><img src="1.jpg" alt=""></li> 
 <li><img src="2.jpg" alt=""></li> 
 <li><img src="3.jpg" alt=""></li> 
 <li><img src="4.jpg" alt=""></li> 
 <li><img src="5.jpg" alt=""></li>  
 </ul> 
 <ol id="list"> 
 <li class="on">1</li> 
 <li>2</li> 
 <li>3</li> 
 <li>4</li> 
 <li>5</li> 
 </ol> 
 </div> 
</body> 
</html>

效果如下:

js实现图片轮播效果学习笔记

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
WebGame《逆转裁判》完整版 代码下载(1月24日更新)
Jan 29 Javascript
js string 转 int 注意的问题小结
Aug 15 Javascript
js密码强度检测
Jan 07 Javascript
AngularJS 中的指令实践开发指南(一)
Mar 20 Javascript
JS动态插入并立即执行回调函数的方法
Apr 21 Javascript
深入浅析JavaScript中的scrollTop
Jul 11 Javascript
关于Vue.js一些问题和思考学习笔记(1)
Dec 02 Javascript
js定时器实现倒计时效果
Nov 05 Javascript
微信小程序用户自定义模版用法实例分析
Nov 28 Javascript
js中innerText/textContent和innerHTML与target和currentTarget的区别
Jan 21 Javascript
VUE+Element环境搭建与安装的方法步骤
Jan 24 Javascript
node.js文件操作系统实例详解
Nov 05 Javascript
Angular4如何自定义首屏的加载动画详解
Jul 26 #Javascript
vue上传图片组件编写代码
Jul 26 #Javascript
深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
Jul 26 #Javascript
基于ExtJs在页面上window再调用Window的事件处理方法
Jul 26 #Javascript
Angular中自定义Debounce Click指令防止重复点击
Jul 26 #Javascript
JavaScript利用fetch实现异步请求的方法实例
Jul 26 #Javascript
深入探究angular2 UI组件之primeNG用法
Jul 26 #Javascript
You might like
php数组函数序列之in_array() - 查找数组中是否存在指定值
2011/11/07 PHP
深入PHP nl2br()格式化输出的详解
2013/06/05 PHP
如何用C语言编写PHP扩展的详解
2013/06/13 PHP
PHP中可以自动分割查询字符的Parse_str函数使用示例
2014/07/25 PHP
PHP实现Session入库/存入redis的方法
2017/05/04 PHP
70+漂亮且极具亲和力的导航菜单设计国外网站推荐
2011/09/20 Javascript
javascript变量声明实例分析
2015/04/25 Javascript
JavaScript实现自动对页面上敏感词进行屏蔽的方法
2015/07/27 Javascript
JavaScript实现身份证验证代码
2016/02/17 Javascript
Node.js中npm常用命令大全
2016/06/09 Javascript
通过JS获取Request.QueryString()参数的值实现方法
2016/09/27 Javascript
jquery.zclip轻量级复制失效问题
2017/01/08 Javascript
Angular.js中下拉框实现渲染html的方法
2017/06/18 Javascript
微信小程序实现人脸识别
2018/05/25 Javascript
vue中实现左右联动的效果
2018/06/22 Javascript
vue基于element的区间选择组件
2018/09/07 Javascript
vue学习之Vue-Router用法实例分析
2020/01/06 Javascript
微信小程序实现下滑到底部自动翻页功能
2020/03/07 Javascript
jquery+ajax实现异步上传文件显示进度条
2020/08/17 jQuery
python进阶教程之文本文件的读取和写入
2014/08/29 Python
python关闭windows进程的方法
2015/04/18 Python
Python3使用pandas模块读写excel操作示例
2018/07/03 Python
Python2实现的图片文本识别功能详解
2018/07/11 Python
python从list列表中选出一个数和其对应的坐标方法
2019/07/20 Python
python numpy 常用随机数的产生方法的实现
2019/08/21 Python
Python如何使用argparse模块处理命令行参数
2019/12/11 Python
Numpy 多维数据数组的实现
2020/06/18 Python
大学生个人自荐信样本
2014/03/02 职场文书
汉语言文学专业求职信
2014/06/19 职场文书
农村门前三包责任书
2014/07/25 职场文书
我们的节日元宵活动方案
2014/08/23 职场文书
先进典型发言材料
2014/12/30 职场文书
搞笑婚庆主持词
2015/06/29 职场文书
Python基础之常用库常用方法整理
2021/04/30 Python
redis中lua脚本使用教程
2021/11/01 Redis
Android Rxjava3 使用场景详解
2022/04/07 Java/Android