我想在id为scroll0的div`s和scroll2之间向下滚动:
在index.html,我有类似的东西:
<div id="scroll0"></div>
<div id="scroll1"></div>
<div id="scroll2"></div>
脚本是:
function scrollToAnchor(aid) {
$('html,body').animate({
scrollTop: aid.offset().top
}, 'slow');
}
var count = 1;
$(document).keydown(function (event) {
var counter = count++;
var destinationDown = "#scroll" + counter;
var destinationTop = destinationDown //counter--;
if (event.keyCode === 40) {
//Scroll down
scrollToAnchor($(destinationDown));
} else if (event.keyCode === 38) {
//Scroll up
scrollToAnchor($(destinationTop));
}
});
向下滚动很好,但如何从不同的div向上滚动到顶部。
例如如何从id滚动到滚动1的滚动滚动滚动滚动到滚动0?
答案 0 :(得分:0)
要处理上升,你需要不要总是立即增加计数器。
var counter = count++;
在完成按下的键之后必须完成此操作,如果键码是38,那么你将不得不从计数中减去而不是增加。
你还必须处理环绕,因为你只有3个div要滚动到,如果你在底部而你按下,你的代码将会破坏。
我的建议是首先将您的计数器更改为索引,并在您的keydown处理程序中执行以下操作: