jQuery中的键盘导航:按两次而不是一次
我的页面上有一个键盘导航,允许在“.layout”类之间导航。问题是在第一次开始页面后,需要按两次“向下”箭头键来触发页面移动。怎么了 按键盘上的“向上”和“向下”可查看: PS:我必须保留“#page”而不是“html,body”,否则代码会与其他函数冲突jQuery中的键盘导航:按两次而不是一次,jquery,keyboard,Jquery,Keyboard,我的页面上有一个键盘导航,允许在“.layout”类之间导航。问题是在第一次开始页面后,需要按两次“向下”箭头键来触发页面移动。怎么了 按键盘上的“向上”和“向下”可查看: PS:我必须保留“#page”而不是“html,body”,否则代码会与其他函数冲突 $(function(){ var positions = [] $('.layout').each(function(){ positions.push(parseInt($(this).offset().
$(function(){
var positions = []
$('.layout').each(function(){
positions.push(parseInt($(this).offset().top));
})
console.log(positions)
var count=-1
var x=positions.length-1
$(window).keydown(function (event) {
switch (event.keyCode) {
case 38:
if(count>=x*(-1)&&count!==0){
count--
console.log(count)
$('#page').stop().animate({scrollTop:positions[count]},700);
}else{event.preventDefault()}
break;
case 40:
if(count<=x){
count++
console.log(count)
$('#page').stop().animate({scrollTop:positions[count]},700);
}else{event.preventDefault()}
break;
}
});
});
$(函数(){
变量位置=[]
$('.layout')。每个(函数(){
positions.push(parseInt($(this.offset().top));
})
控制台日志(位置)
变量计数=-1
变量x=位置。长度-1
$(窗口).keydown(函数(事件){
开关(event.keyCode){
案例38:
如果(计数>=x*(-1)&&count!==0){
计数--
console.log(计数)
$('#page').stop().animate({scrollTop:positions[count]},700);
}else{event.preventDefault()}
打破
案例40:
如果(计数您初始化
var count=-1
宁可
var count=0
谢谢!非常完美。你知道如何在每个“.layout”上方设置页面10px(或其他维度)的位置吗?将第4行更改为位置。按(parseInt($(this.offset().top)-10);
非常感谢,非常完美