javascript - js做简单轮播图时出现错误,望大神指点。
PHP中文网
PHP中文网 2017-04-10 16:51:02
[JavaScript讨论组]




simple banner



pic1

pic2

pic3

pic4




PHP中文网
PHP中文网

认证0级讲师

全部回复(2)
阿神

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中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号