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 到 JQuery (1)学习小结
Feb 12 Javascript
jQuery实现鼠标悬停显示提示信息窗口的方法
Apr 30 Javascript
jQuery实现Tab菜单滚动切换的方法
Sep 21 Javascript
很不错的两款Bootstrap Icon图标选择组件
Jan 28 Javascript
JS+Canvas绘制时钟效果
Aug 20 Javascript
Bootstrap零基础入门教程(二)
Jul 18 Javascript
JavaScript中this的用法实例分析
Dec 19 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
Apr 29 jQuery
分享5个小技巧让你写出更好的 JavaScript 条件语句
Oct 20 Javascript
详解webpack+ES6+Sass搭建多页面应用
Nov 05 Javascript
微信小程序网络层封装的实现(promise, 登录锁)
May 08 Javascript
javascript设计模式 ? 单例模式原理与应用实例分析
Apr 09 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 读取文件的正确方法
2009/04/29 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
2018/05/11 PHP
详解Laravel设置多态关系模型别名的方式
2019/10/17 PHP
JS中彻底删除JSON对象组成的数组中的元素
2020/09/22 PHP
pjblog中的UBBCode.js
2007/04/25 Javascript
jquery 子窗口操作父窗口的代码
2009/09/21 Javascript
Extjs中ComboBox加载并赋初值的实现方法
2012/03/22 Javascript
jQuery过滤选择器:not()方法使用介绍
2014/04/20 Javascript
javascript常用代码段搜集
2014/12/04 Javascript
AngularJS基础 ng-src 指令简单示例
2016/08/03 Javascript
ajax实现动态下拉框示例
2017/01/10 Javascript
jQuery Masonry瀑布流插件使用方法详解
2017/01/18 Javascript
详谈innerHTML innerText的使用和区别
2017/08/18 Javascript
Bootstrap 实现表格样式、表单布局的实例代码
2018/12/09 Javascript
jQuery实现的老虎机跑动效果示例
2018/12/29 jQuery
使用jQuery实现掷骰子游戏
2019/10/24 jQuery
node.js express捕获全局异常的三种方法实例分析
2019/12/27 Javascript
[04:45]上海特级锦标赛主赛事第三日TOP10
2016/03/05 DOTA
Django实现跨域请求过程详解
2019/07/25 Python
简单了解django orm中介模型
2019/07/30 Python
python用线性回归预测股票价格的实现代码
2019/09/04 Python
opencv python在视屏上截图功能的实现
2020/03/05 Python
Python+unittest+DDT实现数据驱动测试
2020/11/30 Python
HTML5仿手机微信聊天界面
2016/03/18 HTML / CSS
html5给汉字加拼音加进度条的实现代码
2020/04/07 HTML / CSS
Bally澳大利亚官网:瑞士奢侈品牌
2018/11/01 全球购物
介绍一下SQL中union,intersect和minus
2012/04/05 面试题
护理自荐信范文
2013/10/05 职场文书
《乌塔》教学反思
2014/02/17 职场文书
财务管理专业毕业生求职信
2014/06/02 职场文书
医学生求职自荐书
2014/06/12 职场文书
群众路线专项整治方案
2014/10/27 职场文书
幼儿园保教工作总结2015
2015/10/15 职场文书
商业计划书如何写?关键问题有哪些?
2019/07/11 职场文书
2019年学校消防安全责任书(2篇)
2019/10/09 职场文书
与Windows10相比Windows11有哪些改进?值不值得升级?
2021/11/21 数码科技