js图片轮播效果实现代码


Posted in Javascript onApril 18, 2020

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

首先给大家看一看js图片轮播效果,如下图

js图片轮播效果实现代码

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>

精彩专题分享:jQuery图片轮播 JavaScript图片轮播 Bootstrap图片轮播

以上就是本文的全部内容,为大家分享了js图片轮播效果实现代码,希望大家喜欢,根据自己的喜好更换图片,制作属于自己的图片轮播效果。

Javascript 相关文章推荐
简洁Ajax函数处理(示例代码)
Nov 15 Javascript
JS、CSS以及img对DOMContentLoaded事件的影响
Aug 12 Javascript
jQuery使用hide方法隐藏指定元素class样式用法实例
Mar 30 Javascript
Javascript中判断对象是否为空
Jun 10 Javascript
jQuery中设置form表单中action值的实现方法
May 25 Javascript
js获取元素的外链样式的简单实现方法
Jun 06 Javascript
JS Ajax请求如何防止重复提交
Jun 13 Javascript
javascript中的 object 和 function小结
Aug 14 Javascript
JavaScript中使用Async实现异步控制
Aug 15 Javascript
微信小程序 flexbox layout快速实现基本布局的解决方案
Mar 24 Javascript
详解JavaScript 作用域
Jul 14 Javascript
JavaScript圣杯布局与双飞翼布局实现案例详解
Aug 05 Javascript
javascript伸缩菜单栏实现代码分享
Nov 12 #Javascript
javascript发送短信验证码实现代码
Nov 12 #Javascript
javascript倒计时效果实现
Nov 12 #Javascript
基于jquery步骤进度条源码分享
Nov 12 #Javascript
javascript手风琴下拉菜单实现代码
Nov 12 #Javascript
javascript弹出窗口实现代码
Nov 12 #Javascript
javascript实现tab切换特效
Nov 12 #Javascript
You might like
成本8450万,票房仅2亿,口碑两极分化,又一部DC电影扑街了
2020/04/09 欧美动漫
PHP自定义多进制的方法
2016/11/03 PHP
PHP PDOStatement::errorInfo讲解
2019/01/31 PHP
最简单的jQuery程序 入门者学习
2009/07/09 Javascript
Jquery中增加参数与Json转换代码
2009/11/20 Javascript
js特殊字符转义介绍
2013/11/05 Javascript
javascript计算用户打开网页的停留时间
2014/01/09 Javascript
js字符串日期yyyy-MM-dd转化为date示例代码
2014/03/06 Javascript
DOM事件阶段以及事件捕获与事件冒泡先后执行顺序(图文详解)
2015/08/18 Javascript
JS实现网站菜单拖拽移位效果的方法
2015/09/24 Javascript
跨域请求的完美解决方法(JSONP, CORS)
2016/06/12 Javascript
JS获取鼠标位置距浏览器窗口距离的方法示例
2017/04/11 Javascript
详解webpack和webpack-simple中如何引入css文件
2017/06/28 Javascript
JS实现合并json对象的方法
2017/10/10 Javascript
详解vue-cli快速构建vue应用并实现webpack打包
2017/12/13 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
jQuery zTree搜索-关键字查询 递归无限层功能实现代码
2018/01/25 jQuery
JS简单实现查看文档创建日期、修改日期和文档大小的方法示例
2018/04/08 Javascript
[20:30]职业巡回赛回顾
2018/08/09 DOTA
总结Python编程中三条常用的技巧
2015/05/11 Python
Python在信息学竞赛中的运用及Python的基本用法(详解)
2017/08/15 Python
Python读取txt某几列绘图的方法
2018/10/14 Python
详解python中list的使用
2019/03/15 Python
Django REST framework 分页的实现代码
2019/06/19 Python
pandas 空数据处理方法详解
2019/11/02 Python
在 Python 中接管键盘中断信号的实现方法
2020/02/04 Python
numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)
2020/04/28 Python
CSS3 flex布局之快速实现BorderLayout布局
2015/12/03 HTML / CSS
美国快时尚彩妆品牌:Winky Lux(透明花瓣润唇膏)
2018/11/06 全球购物
WSDL的操作类型主要有几种
2013/07/19 面试题
机械专业个人求职自荐信格式
2013/09/21 职场文书
个人简历中的自我评价范例
2013/10/29 职场文书
体育教学随笔感言
2014/02/24 职场文书
大学生精神文明先进个人事迹材料
2014/05/02 职场文书
给医院的感谢信
2015/01/21 职场文书
答谢酒会主持词
2015/07/02 职场文书