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 相关文章推荐
JS小功能(onmouseover实现选择月份)实例代码
Nov 28 Javascript
浅谈页面装载js及性能分析方法
Dec 09 Javascript
node.js中的fs.lchown方法使用说明
Dec 16 Javascript
Js为表单动态添加节点内容的方法
Feb 10 Javascript
jquery实现超简洁的TAB选项卡效果代码
Aug 28 Javascript
修复jQuery tablesorter无法正确排序的bug(加千分位数字后)
Mar 30 Javascript
JS上传组件FileUpload自定义模板的使用方法
May 10 Javascript
详解vue组件通信的三种方式
Jun 30 Javascript
Vue结合后台导入导出Excel问题详解
Feb 19 Javascript
详解mpvue实现对苹果X安全区域的适配
Jul 31 Javascript
jQuery实现动态向上滚动
Dec 21 jQuery
vue 使用class创建和清除水印的示例代码
Dec 25 Vue.js
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
PHP中使用asort进行中文排序失效的问题处理
2014/08/18 PHP
php获取YouTube视频信息的方法
2015/02/11 PHP
php+resumablejs实现的分块上传 断点续传功能示例
2017/04/18 PHP
js 字符串操作函数
2009/07/25 Javascript
cnblogs csdn 代码运行框实现代码
2009/11/02 Javascript
jquery 如何动态添加、删除class样式方法介绍
2012/11/07 Javascript
js实现文章文字大小字号功能完整实例
2014/11/01 Javascript
详解JavaScript的表达式与运算符
2015/11/30 Javascript
微信小程序scroll-view组件实现滚动动画
2018/01/31 Javascript
JS正则表达式封装与使用操作示例
2019/05/15 Javascript
jquery绑定事件 bind和on的用法与区别分析
2020/05/22 jQuery
js用正则表达式筛选年月日的实例方法
2021/01/04 Javascript
python中利用Future对象异步返回结果示例代码
2017/09/07 Python
python 定时修改数据库的示例代码
2018/04/08 Python
详解Django的model查询操作与查询性能优化
2018/10/16 Python
PyCharm 在Windows的有用快捷键详解
2020/04/07 Python
Django实现celery定时任务过程解析
2020/04/21 Python
python如何快速生成时间戳
2020/07/21 Python
python rsa-oaep加密的示例代码
2020/09/23 Python
让IE支持CSS3的不完全兼容方案
2014/09/19 HTML / CSS
canvas环形倒计时组件的示例代码
2018/06/14 HTML / CSS
htnl5利用svg页面高斯模糊的方法
2018/07/20 HTML / CSS
英国天然保健品网站:Simply Supplements
2017/03/22 全球购物
印度服装购物网站:Limeroad
2018/09/26 全球购物
德国在线香料制造商:Gewürzland
2020/03/10 全球购物
俄罗斯运动、健康和美容产品在线商店:Lactomin.ru
2020/07/23 全球购物
汽车检测与维修个人求职信
2013/09/24 职场文书
大学生简历的个人自我评价
2013/12/04 职场文书
物流仓储计划书
2014/01/10 职场文书
阿德的梦教学反思
2014/02/06 职场文书
水利公司纪检监察自我鉴定
2014/02/25 职场文书
绍兴鲁迅故居导游词
2015/02/09 职场文书
2016年百日安全生产活动总结
2016/04/06 职场文书
祝福语集锦:给百岁老人祝寿贺词
2019/11/19 职场文书
Javascript webpack动态import
2022/04/19 Javascript
JavaScript圣杯布局与双飞翼布局实现案例详解
2022/08/05 Javascript