2012-06-14 45 views
2

如果我有一個div,並希望它的滾動條位於底部時自動滾動,那麼我將如何使用我在此處的代碼執行此操作?它不適合我。jQuery:滾動條處於底部時滾動

var scroll = false; 
if ($("#console").scrollTop() == ($("#console").prop("scrollHeight") - 503)) { 
    scroll = true; 
} 
if (scroll == true) { 
    $("#console").prop({ scrollTop: $("#console").prop("scrollHeight") }); 
} 

如果div的高度是動態的,而不是靜態的大小,我該怎麼做?

回答

1

六氰化物,

您需要一個事件處理程序附加到容器。因爲你沒有捕獲任何正在發生的事件,所以你現在在這裏得到的代碼總是假的。

+1

看到這個例子:http://api.jquery.com/scroll/ 做到這一點的一種方法是將上面的函數封裝在函數中,並使用$(「#console」)。scroll(function(){callMyFunc( );}); – nolabel

1
$("#console").scroll(function(){ 
    var boxHeight = $('#console').height(); 
    if($("#console").scrollTop() == ($("#console").prop("scrollHeight") - boxHeight)) { 
    $("#console").prop({ scrollTop: $("#console").prop("scrollHeight") }); 
    } 
}); 

你可以嘗試這個新版本,靈感來自我們的同事在這裏。這應該工作,只要你滾動,它會檢查它是否爲底部。如果是,它將滾動回頂部。

+0

我編輯我的代碼,它應該工作,唯一我可能不確定的是scrollTop()==部分....它可能是> =或<=我不知道我無法測試它我希望它有幫助!順便說一句nolabel,我沒有使用任何聽衆現在它應該根據需要工作。讓我知道。 – Alexandre