js如何实现图片轮播效果

  介绍

这篇文章将为大家详细讲解有关js如何实现图片轮播效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

js有什么特点

1, js属于一种解释性脚本语言;2,在绝大多数浏览器的支持下,js可以在多种平台下运行,拥有着跨平台特性;3,js属于一种弱类型脚本语言,对使用的数据类型未做出严格的要求,能够进行类型转换,简单又容易上手;4,js语言安全性高,只能通过浏览器实现信息浏览或动态交互,从而有效地防止数据的丢失;5,基于对象的脚本语言,js不仅可以创建对象,也能使用现有的对象。

具体思路:

一、页面加载,获取整个容器,所有放数字索引的李及放图片列表的ul、定义放定时器的变量,存放当前索引的变量指数

二、添加定时器,每隔2秒钟指数递增一次,调用一次切换图片函数

提示:

1,指数不能一直无限制的递增下去,需做判断
2,调用切换图片函数时需将递增之后的指数作为参数传过去

三、定义图片切换函数

提示:

,1 .遍历所有放数字索引的,将每个李上的类去掉。
,2 .根据传递过来的索引值找到对应的李给它添加类设为当前高亮显示。
,3.根据传递过来的索引值计算放图片的ul的顶值
,4. 改变指数的值,让其等于传递过来的参数值

<强>注意:强放图片的ul的顶值=指数*单张图片的高度(所有图片必须等高)

四、鼠标划过整个容器时,图片停止切换,离开继续

提示:

1只;鼠标滑过整个容器时清除定时器
2只;鼠标离开时继续执行定时器,切换至下一张图片

五,遍历所有放数字的,且给他们添加索引,鼠标滑过时切换至对应的图片。

鼠标滑过时调用图片切换函数,将滑过的李的索引传过去。

具体代码如下:

& lt; ! doctype  html>,   & lt; html  lang=癳n"祝辞,   & lt; head>,   ,& lt; meta  charset=癠TF-8"祝辞,   ,& lt; title> Document,   & lt; style>大敌;   ,*{保证金:0,,   ,填充:0;   ,list-style:没有;},   ,.wrap{高度:170 px;,   宽度:490 px;大敌;   ,保证金:60 px 汽车;,   ,溢出:,隐藏;   ,位置:,相对;   ,保证金:100 px 汽车;},   ul, .wrap {:绝对;},,   李,.wrap  ul {高度:170 px;},   ol, .wrap {位置:绝对的,,   ,右:5 px;   ,底部:10 px;},   李,.wrap  ol {高度:20 px;,宽度:,20 px;,   背景:# ccc;大敌;   ,边界:solid  1 px  # 666;,   ,margin-left: 5 px;   ,颜色:# 000;   ,浮动:左;   ,行高:中心;   ,text-align:中心;   ,光标:指针;},   ,.wrap  ol 碧绿{背景:# E97305;,   ,颜色:# fff;},   ,,   & lt;/style>大敌;   ,& lt; script 类型=拔谋?javascript"祝辞,   ,window=函数(){   ,var 包=. getelementbyid(& # 39;包# 39;),,   ,图片=. getelementbyid(& # 39;图片# 39;).getElementsByTagName (“li"),   ,列表=. getelementbyid(& # 39;列表# 39;).getElementsByTagName(& # 39;李# 39;),,   指数=0,大敌;   ,计时器=零;   ,,   ,//定义并调用自动播放函数,=,,timer  setInterval(播放,2000),,   ,,   ,//鼠标划过整个容器时停止自动播放,=,,wrap.onmouseover  function  (), {,   ,clearInterval(计时器);   }大敌;   ,,   ,//鼠标离开整个容器时继续播放至下一张,=,,wrap.onmouseout  function  (), {,=,,timer  setInterval(播放,2000),,   }大敌;   ,//遍历所有数字导航实现划过切换至对应的图片,   ,for  (var 小姐:=,0;,小姐:& lt;, list.length;,我+ +),{,   ,名单[我].onmouseover =, function  (), {,   ,clearInterval(计时器);=,,index  this.innerText 作用;1;,   ,changePic(指数),,   ,};   ,};   ,,   ,function  autoPlay  (), {,   ,if  (+ + index 祝辞=,pic.length), index =, 0;,   ,changePic(指数),,   }大敌;   ,,   ,//定义图片切换函数,   ,function  changePic  (curIndex), {,   ,for  (var 小姐:=,0;,小姐:& lt;, pic.length;, + + i), {,   ,图片[我].style.display =,“none",,   ,名单[我].className =,““,   }大敌;   ,图片[curIndex] .style.display =,“block",,   ,名单[curIndex] .className =,“知道,,   }大敌;   ,,   ,};   ,,   ,& lt;/script>,,   时间/head> & lt;   & lt; body>,   ,& lt; div 类=皐rap", id=& # 39;包# 39;祝辞,   ,& lt; ul  id=皃ic"祝辞,   ,& lt; li> & lt; img  src=https://www.yisu.com/zixun/?. jpg”alt=" ">

js如何实现图片轮播效果