gpt4 book ai didi

jquery - 禁用第一个和最后一个元素的 keyCode

转载 作者:行者123 更新时间:2023-12-03 22:34:10 27 4
gpt4 key购买 nike

我制作了一个 onkeydown 函数,它水平运行 li 元素 block ,它运行完美,但我需要当第一个和最后一个 li block 处于焦点时,左右键应该被禁用。

有人能建议一个正确的方法吗?提前感谢!!!

$(document).ready(function() {
var winht = $(window).height();
var contUl = $('.content ul').children('li').size();
var widLi = $('.content ul li').width();
var contUlAndLI = contUl * widLi;
var leftIndex = $('.content ul').css('left','0');
$('.content ul').width(contUlAndLI);
$('#frame').height(winht);

$("body").keydown(function(e) {

if(e.keyCode == 37) { // left
$(".content ul").animate({
left: "-=980"
});
}
else if(e.keyCode == 39) { // right
$(".content ul").animate({
left: "+=980"
});
}

});

if( leftIndex == 0){

$("body").keydown(function(e) {

if(e.keyCode == 39){ // right
//event.preventDefault();
return false;
}

});
}

});

工作引用号是jsfiddle

最佳答案

我通过使用一个计数器来做到这一点,每次用户按左或右键时都会检查该计数器的值。计数器只是 ul 标记内的 li 元素的数量。

var ulCount = $('.content li').length - 1;
var i = 0;

然后仅当我们在计数器的值范围内时才运行动画:

if(e.keyCode == 37) { // left
if (i < ulCount) {
i++;
$(".content ul").animate({
left: "-=980"
});
}
}
else if(e.keyCode == 39) { // right
if (i > 0) {
i--;
$(".content ul").animate({
left: "+=980"
});
}
}

我更新了 jsFiddle也是。

关于jquery - 禁用第一个和最后一个元素的 keyCode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13701047/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com