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 相关文章推荐
JavaScript的parseInt 进制问题
May 07 Javascript
juqery 学习之三 选择器 子元素与表单
Nov 25 Javascript
用JS提交参数创建form表单在FireFox中遇到的问题
Jan 16 Javascript
JavaScript实现带标题的图片轮播特效
May 20 Javascript
JavaScript实现页面跳转的方式汇总
May 16 Javascript
JS不用正则验证输入的字符串是否为空(包含空格)的实现代码
Jun 14 Javascript
jQuery实现邮箱下拉列表自动补全功能
Sep 08 Javascript
详解用webpack2搭建angular2的项目
Jun 22 Javascript
详解Vue文档中几个易忽视部分的剖析
Mar 24 Javascript
学习Vue组件实例
Apr 28 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
Aug 19 Javascript
vue.js中proxyTable 转发请求的实现方法
Sep 20 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
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
2014/04/01 PHP
ThinkPHP添加更新标签的方法
2014/12/05 PHP
PHP7.0安装笔记整理
2015/08/28 PHP
php实现微信公众号无限群发
2015/10/11 PHP
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
2016/07/02 PHP
PNG背景在不同浏览器下的应用
2009/06/22 Javascript
JQuery 解析多维的Json数据格式
2009/11/02 Javascript
关于文本框的一些限制控制总结~~
2010/04/15 Javascript
基于jQuery的简单九宫格实现代码
2012/08/09 Javascript
JQuery中SetTimeOut传参问题探讨
2013/05/10 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
2016/11/25 Javascript
vue过渡和animate.css结合使用详解
2017/06/14 Javascript
jquery一键控制checkbox全选、反选或全不选
2017/10/16 jQuery
vue视图不更新情况详解
2019/05/16 Javascript
详解Vue3.0 前的 TypeScript 最佳入门实践
2019/06/18 Javascript
webpack打包html里面img后src为“[object Module]”问题
2019/12/22 Javascript
Python解析nginx日志文件
2015/05/11 Python
Python中Continue语句的用法的举例详解
2015/05/14 Python
Python入门之modf()方法的使用
2015/05/15 Python
Python实现求两个csv文件交集的方法
2017/09/06 Python
python实现机器人行走效果
2018/01/29 Python
新建文件时Pycharm中自动设置头部模板信息的方法
2020/04/17 Python
Python数据可视化图实现过程详解
2020/06/12 Python
python实现从ftp上下载文件的实例方法
2020/07/19 Python
文职个人求职信范文
2013/09/23 职场文书
高三自我鉴定怎么写
2013/10/19 职场文书
酒吧副总经理岗位职责
2013/12/10 职场文书
大一学生的职业生涯规划书范文
2014/01/19 职场文书
幼儿教师工作感言
2014/02/14 职场文书
幸福中国演讲稿
2014/09/12 职场文书
小学向国旗敬礼活动方案
2014/09/27 职场文书
2015建军节87周年演讲稿
2015/03/19 职场文书
全国助残日活动总结
2015/05/11 职场文书
文明礼仪主题班会
2015/08/13 职场文书
Python Django框架介绍之模板标签及模板的继承
2021/05/27 Python
教你用Java在个人电脑上实现微信扫码支付
2021/06/13 Java/Android