jquery在scroll()事件裡面,我想判斷當前滾動條橫向還縱向;
我開始用全域變數記錄scrollTop的值來判斷的,如果前後值沒有變就是橫向滾動了,
但是頁面裡有多個捲軸,就要多個全域變數來控制,該怎麼判斷呢?
scroll jquery 區分橫向縱向捲軸
解決方法:
each一次設定選擇器選取物件的scrollLeft/scrollTop就行了,然後綁定scroll事件,觸發的時候取得scrollLeft/scrollTop和初始化的scrollLeft/scrollTop對比判斷是橫向還是縱向,同時更新物件儲存的scrollLeft/scrollTop
.c{height:120px;width:120px;overflow:auto;border:solid 1px black;margin-bottom:5px;}
<script><BR>$('div').each(function(){$(this).data('slt',{sl:this.scrollLeft,st:this.scrollTop});}) .scroll(function(){<BR> var sl=this.scrollLeft,st=this.scrollTop,d=$(this).data('slt');<BR> if(sl!=d.sl)alert ('橫向滾動');<BR> if(st!=d.st)alert('縱向滾動');<BR> $(this).data('slt',{sl:sl,st:st} );///</script>