[英]How can I make selected item in listbox scroll to the top?
我從數組項創建一個簡單的列表。 如果列表很大,則會出現滾動條。 但是,我的問題是 - 當一個項目被選中時,我希望看到該項目位於可見位置的頂部,將上面隱藏的所有項目推到滾動條下方。 因此無論我選擇哪個項目,它都應該位於可見列表框的頂部。 這與將項目定位到頂部(僅在滾動頂部)不同。 希望我的問題在這里理解。
感謝您提供的任何幫助或指導。
您可以使用此代碼:
$('#scrollable li').on('click', function(e){
$('#scrollable').animate({scrollTop: $(e.target).position().top + $('#scrollable').scrollTop()});
});
另見這個JSFiddle: http : //jsfiddle.net/729nX/1/
經過大量的谷歌搜索后,我發現你可以使用帶有類似代碼的javascript的scrollTo()
function scrollToElem(elem) {
if(pageElement != null){
window.scrollTo(elem.offsetTop, 0);
}
}
var elem= document.getElementById('your_element');
scrollToElem(elem);
或使用location.hash在我看來最簡單的解決方案與單獨的東西線
location.hash = '#' + 'your_element';
如果你在一個元素而不是整個窗口中有一個滾動條。
function onSelect(list, selectedItem){
list.scrollTop = selectedItem.offsetTop - list.offsetTop;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.