【发布时间】:2016-03-09 07:05:27
【问题描述】:
我想知道是否可以检测到本机滚动条的左/右或上/下按钮单击事件。我想知道,因为我想提供滚动条的自定义行为,例如仅在某些固定步骤中滚动等。我使用了滚动功能,但它并没有完全给我想要的平滑度:
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));
});
【问题讨论】:
-
在您的浏览器中使用 firebug/web 开发者扩展,或者您可以使用检查元素和 ctrl+U。
-
在 chrome 检查元素中没有显示任何与滚动条相关的 div 将尝试 firebug/web 开发人员
-
网络开发者扩展在这里很有帮助
标签: javascript jquery html