2017-01-02 177 views
2

我有一個隱藏的輸入字段,在表td內,當我選擇選項A時,我希望瀏覽器向下滾動到table td內的可見輸入。 我試過代碼波紋管,但有些工作不正確。 ID輸入字段:#id_a-1-host滾動到隱藏元素

jQuery('html,body').animate({scrollTop: jQuery('#id_a-1-host').offset().top},'slow'); 

它滾動下來,但只有一點點。它不會滾動到輸入字段。

+0

給ID爲TD本身。 – Jai

+0

嗨!它不工作,給ID的ID;(。 – Tony

+0

@傑你不能導航通過給'''ID'到'​​'... –

回答

2

scrollTop基於可見性,如果使用display: none隱藏它,則它在視口中不可用,因此它不會按預期工作。它始終是更好地在這些情況下使用命名錨:

<a name="id-a-off" id="id-a-off"> 

甚至一個空的跨度會做:

<span name="id-a-off" id="id-a-off"></span> 

確保這是一個靜態的父母。

另外,如果你有一個靜態的頭什麼的設置,你需要添加高度還有:

jQuery('html,body').animate({ 
    scrollTop: jQuery('#id_a-1-host').offset().top - staticHeaderHeight 
}, 'slow'); 
+0

嗨!我有name =「id-a-off」的輸入,但不是一個標記或跨度,如果我使用staticHeaderHeight沒有差異 – Tony

+0

@Tony你是如何使用'staticHeaderHeight'? –

+0

我測試了var staticHeaderHeight = jQuery(window).height() - 250; – Tony