javascript图片轮播代码的一点解析
2018-02-05 20:13
369 查看
今天使用了这个网页的代码。把这些代码直接贴在一个空记事本里是可以的,但在转移到自己的网页中出了点问题,用一下午的时间解决,积累了些经验。原网页代码如下:
是一个轮播图片的js代码。我在应用到自己的网页时,把obj2.length换成了var Ilength=4;结果turn()函数执行不正常。后来发现,Ilength在turn()中没有定义。需要改为Ilength=4;这样Ilength就是全局变量。代码中的flag也是全局变量。
另一个需要注意的是23行
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>JS幻灯代码</title> <script type="text/javascript"> window.onload = function () { flag = 0; obj1 = document.getElementById("slider"); obj2 = document.getElementsByTagName("li"); obj2[0].style.backgroundColor = "#666666"; //默认被选中颜色 time = setInterval("turn();", 5000); obj1.onmouseover = function () { clearInterval(time); } obj1.onmouseout = function () { time = setInterval("turn();", 6000); } for (var num = 0; num < obj2.length; num++) { obj2[num].onmouseover = function () { turn(this.innerHTML); clearInterval(time); } obj2[num].onmouseout = function () { time = setInterval("turn();", 6000); } } //延迟加载图片,演示的时候,使用本地图片 //上线后请改为二级域名提供的图片地址 document.getElementById("second").src = "images/2.png"; //使用图片宽660,高550 document.getElementById("third").src = "images/3.png"; document.getElementById("four").src = "images/4.png"; } function turn(value) { if (value != null) { flag = value - 2; } if (flag < obj2.length - 1) flag++; else flag = 0; obj1.style.top = flag * (-550) + "px"; for (var j = 0; j < obj2.length; j++) { obj2[j].style.backgroundColor = "#ffffff"; } obj2[flag].style.backgroundColor = "#666666"; } </script> <style type="text/css"> #wrap { height: 550px; width: 660px; overflow: hidden; position: relative; overflow: hidden; } #wrap ul { list-style: none; position: absolute; top: 500px; left: 450px; } #wrap li { margin-left:2px; opacity: .3; filter: alpha(opacity=30); text-align: center; line-height: 30px; font-size: 20px; height: 30px; width: 30px; background-color: #fff; float: left; border-radius:3px; cursor:pointer; } #slider { position: absolute; top: 0px; left: 0px; } #slider img { float: left; border: none; } </style> </head> <body> <div id="wrap"> <div id="slider"> <a target="_blank" href="#"><img src="images/1.png" /></a> <a target="_blank" href="#"><img id="second" /></a> <a target="_blank" href="#"><img id="third" /></a> <a target="_blank" href="#"><img id="four" /></a> </div> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> </ul> </div> </body> </html>
是一个轮播图片的js代码。我在应用到自己的网页时,把obj2.length换成了var Ilength=4;结果turn()函数执行不正常。后来发现,Ilength在turn()中没有定义。需要改为Ilength=4;这样Ilength就是全局变量。代码中的flag也是全局变量。
另一个需要注意的是23行
turn(
this
.innerHTML); 不能改为turn(num);因为turn()在执行时,num已经是4了,onmouseover的时候只是注册,并没有执行。
在解决问题的时候,我都是在怀疑有问题的代码前后加上alert(),这也算是调试了吧。分享给大家。
flag与value比较大小的问题,我最开始怀疑会有问题,后来发现javascript作为动态语言还是很智能的,可以放心使用。
相关文章推荐
- 原生javascript实现图片轮播效果代码
- 纯JavaScript手写图片轮播代码
- JavaScript实现图片轮播组件代码示例
- JavaScript图片轮播代码分享
- JavaScript图片轮播代码分享
- 最简单的JavaScript图片轮播代码(两种方法)
- javaScript实现图片滚动及一个普通图片轮播的代码
- JavaScript图片轮播代码
- JavaScript仿商城实现图片广告轮播实例代码
- 原生javascript实现图片自动轮播和点击轮播代码
- JavaScript图片无缝轮播代码
- javascript实现图片循环渐显播放的代码(图片轮播)
- 图片轮播 JavaScript 的代码 事件
- JavaScript仿商城实现图片广告轮播实例代码
- 最简单的JavaScript图片轮播代码(两种方法)
- 原生javascript实现图片自动轮播和点击轮播代码
- javascript 超简单代码实现图片轮播功能
- 纯原生javascript实现图片轮播切换效果代码。
- Javascript 网页水印(非图片水印)实现代码