问答详情
源自:6-4 编程练习

获取top值的问题

var top = document.documentElement ? document.documentElement.scrollTop : document.body.scrollTop;

这样写不能获取top值啊,console.log(top)全为0,

var top = document.documentElement.scrollTop || document.body.scrollTop;

只有这样写才能正确获取top值,这是为什么呢?


提问者:Zohar 2016-08-20 17:22

个回答

  • Resen4983
    2017-03-29 17:23:35

     var top = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;

    老师视频中的不小心书写错误了,经过测试应该是这样写的;这是一个三目预算, "?"前面是判断条件,在这里是判断当前浏览器是否使用的是这个对象的方法,后面":"的前面的是为判断得到true的时候执行的语句,后者是false时执行的语句.

    但是我试了你这种写法也可以,不知道会不会在一些情况下出现异常.

    还是小白,工作都还没找到呢,就能分析这么多了.

  • 小幸运17
    2016-08-21 22:16:33

     document.documentElement 这句话什么作用?