簡體   English   中英

jQuery插件scrollTo僅在控制台上有效

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM