扫码关注官方订阅号
simple banner
pic1 pic2 pic3 pic4
pic1
pic2
pic3
pic4
认证0级讲师
var childs=box.getElementsByClassName('child');应该写成var childs = box.children();
楼上把你的错误说得挺清楚了我这里就给你一个轮播图的案例好了,我随便在你的代码基础上写了一下,js代码不多,也很好理解,用了css3的属性,题主可以看看实现思路
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>simple banner</title> <style type="text/css"> #container{ width: 300px; border: 1px solid green; margin: 100px auto; /*overflow: hidden;*/ } #cansee{ position: relative; width: 300px; height: 300px; overflow: hidden; /*font-size: 0;*/ } #box{ position: absolute; width: 1200px; left: 0; -webkit-transition: left 0.8s ease-in-out; -o-transition: left 0.8s ease-in-out; transition: left 0.8s ease-in-out; } .child{ width: 300px; height: 300px; line-height: 300px; text-align: center; font-size: 20px; color: white; float: left; } </style> </head> <body> <p id="container"> <p id="cansee"> <p id="box"> <p class="child" style="background-color:blue">pic1</p> <p class="child" style="background-color:red">pic2</p> <p class="child" style="background-color:black">pic3</p> <p class="child" style="background-color:yellow">pic4</p> </p> </p> </p> <script type="text/javascript"> var childs = box.getElementsByTagName("p"); var childwidth = parseInt(childs[0].offsetWidth); var len = childs.length; var index = 1; var timers=setInterval(slide,2000); function slide(){ box.style.left=childwidth*(-1)*index+'px'; index++; if(index==len){ index=0; } } </script> </body> </html>
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
var childs=box.getElementsByClassName('child');
应该写成var childs = box.children();