gpt4 book ai didi

jquery - 如何使选定的 LI 保持可见(不隐藏)?

转载 作者:太空狗 更新时间:2023-10-29 13:11:01 27 4
gpt4 key购买 nike

我正在使用 jQuery 1.12。我有一个带 LI 元素的样式化 UL。当 DIV 具有焦点时,我使用下面的代码使用键盘上的向上或向下箭头选择这些元素 ...

 $(".select").bind('keydown', function(event) {
var currentElement = $(this).find(".select-options li.selected");
if (currentElement.length == 0) {
currentElement = $(this).find(".select-options li")[0];
$(currentElement).addClass("selected");
return;
} // if
var nextElement;
switch(event.keyCode){
// case up
case 38:
nextElement = $(this).find(".select-options li")[($(this).find(".select-options li").index(currentElement) - 1) % $(this).find(".select-options li").length];
break;
case 40:
nextElement = $(this).find(".select-options li")[($(this).find(".select-options li").index(currentElement) + 1) % $(this).find(".select-options li").length];
break;
}
$(this).find(".select-options li").removeClass("selected");
if(nextElement !== null) {
$(nextElement).addClass("selected");
}
});

问题是,如果您连续点击向下键(例如),最终您将无法看到所选元素。我该如何调整以使所选元素始终可见?说明问题的 fiddle 在这里 -- http://jsfiddle.net/sge8g5qu/1/ .

最佳答案

在将类添加到 nextElement 调用的末尾 .scrollIntoView( false )也在上面。

if(nextElement !== null) {
$(nextElement).addClass("selected");
nextElement.scrollIntoView(false); // added this line
}

更新 fiddle :http://jsfiddle.net/gaby/6fjnnu55/

关于jquery - 如何使选定的 LI 保持可见(不隐藏)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41446096/

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