2010-08-10 88 views
0

當用戶單擊我正在處理的網站底部的某個按鈕時,它將展開爲評論表單。如果頁面上有很多其他內容,評論表單將展開,並且用戶可能不會注意到它已經出現。在jQuery動畫期間滾動窗口

我想滾動頁面,當評論表單展開以吸引用戶的注意力時。我查看了this question,但該解決方案不起作用,因爲我的表單在展開時動畫化,所以滾動停止,只有表單頂部可見。另外,跳來跳去看起來很醜。

這是我目前的代碼。

$("#show").click(function() { 
    if (!$("#change-form").is(":visible")) { 
     $("#change-form").show("blind",{},500); 
     $(document).animate({scrollTop: $(document).height()}, 1000); 
    } 
    return false; 
}); 

的$(文件).animate線非常相似,我jQuery的文檔中找到,但頁面完全不滾動。我已經在Chrome 5.0.375.125和Firefox 3.6.8中測試過了,但沒有成功,儘管我已經讀過$(document)應該可以在兩種瀏覽器中使用。爲什麼頁面不滾動?

回答

0

你試過scrollTo了嗎? http://plugins.jquery.com/project/ScrollTo

+0

我做了,並且滾動,但它滾動到文檔末尾*使用*的位置,而不是跟隨移動目標。我可以將滾動量設置爲150%,滾動速度爲2000,但這似乎很偶然。有關如何解決這個庫的具體建議? – James 2010-08-10 21:57:55

+0

那麼,爲了理解你的意思,你希望頁面滾動到擴展內容的末尾?如果這是一個不確定的位置,只需簡單地將scrollTo命令滾動到內容末尾的隱藏元素即可。 – 2010-08-10 22:02:20

+0

這適用於Firefox,但Chrome仍然存在相同的問題。我已經通過使用向下滾動的回調函數解決了它。這樣,如果用戶可以看到它,那麼表單就是動畫的,並且使用$(document).scrollTo(「100%」,250)順利地向下滾動。如果用戶不能。 感謝您的提示! – James 2010-08-10 22:11:27