javascript - 在定时器里的top赋值为何会报错?谢谢大神
天蓬老师
天蓬老师 2017-04-11 13:21:05
[JavaScript讨论组]


天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(8)
怪我咯

你的span是数组啊!

大家讲道理

不能在for循环中这样设置span,你这时候才刚开始创建span,所以这个时候你的span在页面中找的的结果是个空数组,没有元素,然后需要重新遍历这个span数组,然后给其中的每一个元素设置属性;定时器中设置span的属性时也需要遍历,你这儿的span是个数组,并不是一个指定的元素,所以需要遍历设置

怪我咯

1:dom数组是一个空数组来的,没有找到span标签
2:在定时器中把span当成一个dom对象使用了,实际上你的span是一个dom数组,使用的时候,先for遍历再设置属性

迷茫

span[0].style.top

PHP中文网

前面都会span[i].style.left,后面就不会span[i].style.top了?

天蓬老师

这个问题我以前遇到过,一模一样的,你要先将span.style={}这样赋值,然后才能span.style.top才可以。而且这个是js语言本身的特性,跟定时器没关系的。

黄舟

JS早于DOm载入,span对象空~

阿神

把你的span.style.top 该成 span[i].style["top"]试试看!!

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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