我正在使用此DropDownList
搜索项目,我遇到问题我的问题是如何在键盘中上下滚动此DropDownList
?
JSfiddle
答案 0 :(得分:0)
我做了什么:
首先,我检查了storeTarget
和#search_results
的位置,并将其记录到控制台中以找出导致问题的原因。
(这是你可以自己完成的事情......)
我发现的是,在几个项目之后,storeTarget
项的顶部位置高于#search_results
的可见区域。
所以我改变了
的参数 $("#search_results").scrollTop(storeTarget.offset().top);
滚动比当前位置稍远一点,并使其更顺畅地更改了if子句中的检查:
if(storeTarget.offset().top>220){
$("#search_results").scrollTop($("#search_results").scrollTop()+40);
console.log(storeTarget.offset().top);
console.log($("#search_results").scrollTop());
}
当用户上升时我没有检查过这种情况,这让你想出来了。
here's a working fiddle based on your code
结束编辑
我做了什么:
当使用键向上或向下移动时,我检查offset().top
的{{1}}值是大于还是小于200(您可以根据列表的大小更改它),如果是这样的话,我们将storeTarget
的顶部滚动到
您#search-results
的顶部:
storeTarget