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窗口宽高,鼠标位置,滚动高度(详细解析)
Nov 18 Javascript
extjs 如何给column 加上提示
Jul 29 Javascript
Bootstrap按钮组件详解
Apr 26 Javascript
JS 动态判断PC和手机浏览器实现代码
Sep 21 Javascript
html5+canvas实现支持触屏的签名插件教程
May 08 Javascript
详解Vue 如何监听Array的变化
Jun 06 Javascript
Vue.js实现可编辑的表格
Dec 11 Javascript
jQuery实现的解析本地 XML 文档操作示例
Apr 30 jQuery
Vue项目接入Paypal实现示例详解
Jun 04 Javascript
Postman参数化实现过程及原理解析
Aug 13 Javascript
Vue中使用wangeditor富文本编辑的问题
Feb 07 Vue.js
vue3中的组件间通信
Mar 31 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
destoon数据库表说明汇总
2014/07/15 PHP
php获取数组元素中头一个数组元素值的实现方法
2014/12/20 PHP
实例简介PHP的一些高级面向对象编程的特性
2015/11/27 PHP
CodeIgniter集成smarty的方法详解
2016/05/26 PHP
Laravel5中防止XSS跨站攻击的方法
2016/10/10 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
PHP实现的AES加密、解密封装类与用法示例
2018/08/02 PHP
由document.body和document.documentElement想到的
2009/04/13 Javascript
Jquery为a标签的href赋值实现代码
2013/05/03 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
2014/06/26 Javascript
javascript自动生成包含数字与字符的随机字符串
2015/02/09 Javascript
Javascript进制转换实例分析
2015/05/14 Javascript
Prototype框架详解
2015/11/25 Javascript
微信小程序 弹框和模态框实现代码
2017/03/10 Javascript
详解webpack打包vue时提取css
2017/05/26 Javascript
深究AngularJS如何获取input的焦点(自定义指令)
2017/06/12 Javascript
实例讲解DataTables固定表格宽度(设置横向滚动条)
2017/07/11 Javascript
关于javascript sort()排序你可能忽略的一点理解
2017/07/18 Javascript
详解easyui基于 layui.laydate日期扩展组件
2018/07/18 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
2018/10/31 Javascript
使用vue自定义指令开发表单验证插件validate.js
2019/05/23 Javascript
python正则分组的应用
2013/11/10 Python
python实现集中式的病毒扫描功能详解
2019/07/09 Python
pytorch中的transforms模块实例详解
2019/12/31 Python
python 批量下载bilibili视频的gui程序
2020/11/20 Python
天美时手表加拿大官网:Timex加拿大
2016/09/01 全球购物
求职个人评价范文
2014/04/09 职场文书
实习评语大全
2014/04/26 职场文书
交通运输局四风问题对照检查材料思想汇报
2014/10/09 职场文书
学生检讨书怎么写?
2014/10/10 职场文书
群众路线自我剖析范文
2014/11/04 职场文书
房屋分割离婚协议书范本
2014/12/01 职场文书
2014年加油站工作总结
2014/12/04 职场文书
体育教师个人总结
2015/02/09 职场文书
建党伟业观后感
2015/06/01 职场文书
详解Python如何批量采集京东商品数据流程
2022/01/22 Python