2015-07-19 59 views
1

我試圖滾動溢出div直到達到特定元素#id。 我的問題是: 我不希望這個元素爲「scrollTop」。當元素在div底部可見時,我想停止滾動。就像這樣:將溢出div滾動到某個元素,並使其停止在div的底部

enter image description here

所有我得到的東西scrollTop的...

function scrollItem(itemID) { 
    var container = $('#overflowDIV'), 
     scrollTo = $(itemID); 

    container.animate({ 
     scrollTop: scrollTo.offset().top - container.offset().top + container.scrollTop() 
    }, 100); 
} 

回答

0

嘗試減去容器的內部高度。這是未經測試的代碼。

function scrollItem(itemID) { 
    var container = $('#overflowDIV'), 
    scrollTo = $(itemID); 

    container.animate({ 
    scrollTop: 
     scrollTo.offset().top - 
     container.offset().top + 
     container.scrollTop() - 
     container.innerHeight() 
    }, 100); 
} 
+0

非常感謝! 我剛剛增加了LI高度container.innerHeight()+ 30,並且工作得很漂亮! –

+0

該物品的高度呼叫良好。如果你不想硬編碼30,你可以嘗試獲取它:container.innerHeight()+ scrollTo.height() – ventaur