请问首页幻灯片这种js写法有什么问题?为什么不成功?谢谢

发布于 2022-08-28 12:04:34 字数 1723 浏览 11 评论 0

<script>
    window.onload = function(){
        var bigBox = document.getElementById('slidebox');
        var smallBox = bigBox.getElementsByTagName('div');
        var nums = bigBox.getElementsByTagName('li');
        var pic = smallBox.getElementsByTagName('img');
        var arr = [
        "d:/ddy/images/01.jpg",
        "d:/ddy/images/02.jpg",
        "d:/ddy/images/03.jpg",
        "d:/ddy/images/04.jpg",
        ];

        for(var i=0;i<nums.length;i++){
            nums[i].index = i;
            nums[i].onmouseover = function(){
                for(var i=0;i<nums.length;i++){
                    nums[i].className = '';
                }
                this.className = 'current';
                pic.src = arr[this.index];
            }
        } 
    }   

</script>

这是js部分;
html贴上吧:

<div class = "slidebox" id = "slidebox">
    <div class = "slide">
        <img src = "d:\ddy\images\01.jpg" />
    </div>
    <ul class = "btns">
        <li class = "current">1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
    </ul>
</div>

css额:

.slidebox{width: 900px;height: 310px;margin: 0 auto; z-index: 0;position: relative;}
.slide{z-index: 1;position: absolute;}
.btns{z-index: 9999;bottom: 10px;position: absolute;right: 5px;}
.slide img{width: 900px;height: 310px;}
.slidebox ul li {width:18px;height: 18px; float: left;margin-right: 5px;text-align: center;background: #666;font: 12px arial;line-height: 18px;text-decoration: none;color: #fff;}
.slidebox ul .current{background: #f33;}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

贪了杯 2022-09-04 12:04:34

不同于getElementById(), getElementsByTagName()返回的不是一个element,而是一个a list of elements,所以应该这样写:

var bigBox = document.getElementById('slidebox');
var smallBox = bigBox.getElementsByTagName('div')[0];
var nums = bigBox.getElementsByTagName('li');
var pic = smallBox.getElementsByTagName('img')[0];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文