[英]jQuery plugin scrollTo works only from console
我在新創建的div上的scrollTo有問題,我通過append()添加到DOM。 由於某種原因,我無法從代碼中滾動到所需的位置,它只能通過控制台命令運行,或者如果我添加按鈕並以這種方式調用滾動事件,則無法使用。
碼:
$('#history').scrollTo('max');
僅可從控制台或附加到按鈕上使用。
編輯:歷史div溢出:自動,不確定是否是它的原因。
這表明您正在嘗試將scrollTo()
附加到在調用它們上的函數時實際上並不存在的元素上。 它可以在控制台中工作的事實表明了這一點。 如果是這種情況,一種方法是使用例如livequery
類的庫,或者一旦添加了這些元素就直接對這些元素調用scrollTo()
函數。
只是一個猜測,但是在將新元素添加到DOM之后立即調用“ scrollTo”嗎?
如果真是這樣,那么DOM布局可能還沒有機會重新計算。 直到當前腳本處理完成后,元素之間的相對偏移值才更新。
兩種可能的解決方法:
1. setTimeout("$('#history').scrollTo('max')", 1); // Call this after you append your element. This will allow the stack to unwind and update the DOM positions
2. $('#history').scrollTo(0, 9999); // Where "9999" is a value far larger than the actual height of the control.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.