首页 > 开发 > JS > 正文

jq 如何判断水平滚动条距左侧的距离?

2017-09-05 05:51:28  来源:网友分享
<style>.c{height:120px;width:1200px;overflow:auto;border:solid 1px black;margin-bottom:5px;}</style>
<div class="c"><p style="width: 1600px;">bb</p></div>
$('div').scroll(function(){    var sl=this.scrollLeft,        st=this.scrollTop,        d=$(this).data('slt');        console.log(sl)    if($(this).scrollLeft == 100){        console.log(1)    }    })

console.log(sl)可以打印出水平滚动条距离左侧的距离,但是后面的if判断就不行,不打印那个1。

解决方案

$('div').scroll(function(){    var sl=this.scrollLeft,        st=this.scrollTop,        d=$(this).data('slt');        console.log(sl)    if($(this).scrollLeft() == 100){        console.log(1)    }})

因为你用的是jqueryscrollLeft方法,而不是DOM中的scrollLeft,所以你需要是调用方法的方式。

补充

var time = 0;$('div').scroll(function(){    var sl=this.scrollLeft,        st=this.scrollTop,        d=$(this).data('slt');        console.log(sl);    if (time == 0) {        if(sl > 100){            time++;            console.log(1)        }    }})

其实就是加个开关的意思。