当我按下向左箭头时,我试图让网站向上滚动,当按下向右箭头时向下滚动。
我正在尝试这个:
$("body").keydown(function(e){
console.log( e.which );
// left arrow
if ((e.keyCode || e.which) == 37)
{
e.keyCode = 38;
e.which = 38;
$("body").trigger( e );
}
// right arrow
if ((e.keyCode || e.which) == 39)
{
e.keyCode = 40;
e.which = 40;
$("body").trigger( e );
}
});
但是工作不正常,你能指出我正确的方向吗?
答案 0 :(得分:1)
尝试控制滚动而不是尝试触发和投掷箭头。见下文,
下面的代码实际上是按页面滚动,将$(window).height()
更改为固定的理想值。 ( DEMO: http://jsfiddle.net/v5DZ9/1/)
//This is for page scroll. Use a reduced height instead of $(window).height()
//for controlled scroll.
$(document).keyup(function (e) {
if (e.which == 39) {
window.scrollTo(0, $(window).height() + $(document).scrollTop());
} else if (e.which == 37) {
window.scrollTo(0, $(document).scrollTop() - $(window).height());
}
});
DEMO: http://jsfiddle.net/v5DZ9/
注意:请谨慎使用,此代码未经测试。