发现一个轮播图切换有BUG

来源:3-1 箭头切换

_zzh

2016-09-10 10:39

为什么-600不设置在<div id="list" style="left:-600px";点击左右就不会有效果呢?

写回答 关注

3回答

  • _考拉抱大树_
    2016-10-17 08:55:49
    已采纳

    如果你js里用的是style.left获取值的话,这种方法只适用于内嵌在标签里的样式,写在<style type="text/css">里面的内部样式,与外部引入的样式都无法通过该方法获取值(但可以设置元素的left值),所以点击左右的时候就会没有效果,你可以加一条alert语句看一下,获取到的是空。如果不想写成内嵌的样式,可以在获取left值的时候用:

    var computedStyle = document.defaultView.getComputedStyle(elem, null);

    console.log(computedStyle.left);//控制台输出left的值,比如“-600px”

    不过这个不是所有浏览器兼容,IE的话没有该方法,用elem.currentStyle.left获取样式~希望可以帮到你~

  • MrFly0
    2016-10-25 22:02:53

    楼上棒棒哒,我没写行间样式,然后点了半天就是不动那个火大啊,然后还发布提问了,然后看到你这个瞬间懂了。点赞

  • 葱匆行天下
    2016-09-10 17:41:54

    通过js设置元素样式会直接显示在元素的style属性中,不会改变css,你可以试一下


焦点图轮播特效

通过本教程学习您将能掌握非常实用的焦点图轮播特效的制作过程

65234 学习 · 611 问题

查看课程

相似问题