<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) }})
因为你用的是jquery
的scrollLeft
方法,而不是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) } }})
其实就是加个开关的意思。