xx.offsetLeft与xx.style.left的区别

来源:互联网 发布:python counter 详解 编辑:程序博客网 时间:2024/05/16 13:48

今天在弄无缝滚动的练习时,我想让自己<ul>列表里的图片动起来,一开始我想让<ul>每次往左移动3px,于是我就这样设置:

       结果图片根本没有动起来,我就alert(iul.style.left),发现弹出框里的内容是空白的。于是上网搜了一下,发现这里的iul.style.left应该替换成iul.offsetLeft.原因是,我iul的left是在CSS中定义的,而在JS中不能直接得到你CSS中定义的left值,除非left值是定义至标签的内联样式里的。

    还发现了一些二者的不同,

1.offsetLeft=style.left+style.marginLeft.

2.offsetLeft返回的值是number类型的,适合用在计算中。style.left返回的是string类型的,一般带有px单位。

3.在JS中可以更改left的值,因为它是可读写的,而offsetLeft只是可读的,不能写。

0 0