简体   繁体   English

如何检测本机滚动条的按钮单击事件?

[英]how to detect native scrollbar's button click event?

I was wondering if I can detect native scrollbar's left/right or up/down buttons click event. 我想知道是否可以检测本机滚动条的左/右或上/下按钮单击事件。 I want to know because I want to give a custom behaviour of the scrollbar, like scroll only in some fixed steps etc. I have used scroll function, but it doesn't exactly give me the smoothness I wanted: 我想知道,因为我想提供滚动条的自定义行为,例如仅以某些固定步骤滚动等。我使用了滚动功能,但它并不能完全给我想要的平滑度:

var step = 200;
var nextPos=-1;
var pos;
var scrolltarget;
$(' .scrollable ul').scroll(function(e){
    clearTimeout($.data(this, 'scrollTimer'));
    scrolltarget=$(this);
    $.data(this, 'scrollTimer', setTimeout(function() {
        pos=scrolltarget.scrollLeft();
        if(pos%step!=0){
          if(pos>nextPos){
            scrolltarget.animate({
              scrollLeft: pos-pos%step+step
            },250);
          }
          else if(pos<nextPos){
            scrolltarget.animate({
              scrollLeft: pos-pos%step
            },250);
          }
        }

        nextPos=scrolltarget.scrollLeft();
    }, 250));         
});

you can use 您可以使用

$( window ).scroll(function() {
 // your java script code 
});

i recommend you to see this scroll jquery event . 我建议您看一下这个滚动jquery事件

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM