滚动DropDownlist自定义

时间:2017-08-15 09:30:53

标签: javascript scroll

我正在使用此DropDownList搜索项目,我遇到问题我的问题是如何在键盘中上下滚动此DropDownListJSfiddle

1 个答案:

答案 0 :(得分:0)

编辑:由于我的第一个解决方案在添加更多项目时没有正常工作,我调整了一点。 Here's the fiddle

我做了什么:

首先,我检查了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