जवाबों:
यहां अन्य समाधान वास्तव में बहुत सारी सामग्री के साथ divs के लिए काम नहीं करते हैं - यह "मैक्स को बाहर कर देता है" (यह div की सामग्री की ऊंचाई के बजाय) की ऊंचाई तक स्क्रॉल करता है । इसलिए वे तब तक काम करेंगे, जब तक कि आपके भीतर सामग्री में div की ऊँचाई दोगुनी से अधिक न हो।
यहाँ सही संस्करण है:
$('#div1').scrollTop($('#div1')[0].scrollHeight);
या jQuery 1.6+ संस्करण:
var d = $('#div1');
d.scrollTop(d.prop("scrollHeight"));
या एनिमेटेड:
$("#div1").animate({ scrollTop: $('#div1').prop("scrollHeight")}, 1000);
div1?
d = $('#div1'); $(d).scrollTop( $(d).prop("scrollHeight") );
सभी उत्तर जो मैं यहां देख सकता हूं, जिनमें वर्तमान में "स्वीकृत" एक भी शामिल है, वास्तव में गलत है कि वे सेट करते हैं:
scrollTop = scrollHeight
जबकि सही दृष्टिकोण सेट करना है:
scrollTop = scrollHeight - clientHeight
दूसरे शब्दों में:
$('#div1').scrollTop($('#div1')[0].scrollHeight - $('#div1')[0].clientHeight);
या एनिमेटेड:
$("#div1").animate({
scrollTop: $('#div1')[0].scrollHeight - $('#div1')[0].clientHeight
}, 1000);
अद्यतन: एक पूर्ण उत्तर के लिए माइक टॉड का समाधान देखें ।
$("#div1").animate({ scrollTop: $('#div1').height()}, 1000);
अगर आप चाहते हैं कि यह एनिमेटेड (1000 मिलीसेकंड से अधिक) हो।
$('#div1').scrollTop($('#div1').height())
अगर आप इसे तात्कालिक चाहते हैं।
$(window).load(function() {
$("html, body").animate({ scrollTop: $(document).height() }, 1000);
});
यह पृष्ठ की ऊंचाई पकड़ लेता है और विंडो लोड होने के बाद इसे नीचे स्क्रॉल करता है। पृष्ठ तैयार होने के बाद 1000आपको जो कुछ भी करने की आवश्यकता है उसे तेज़ी से / धीमी गति से बदलें ।
स्क्रॉल विंडो को लक्ष्य div के नीचे तक।
function scrollToBottom(id){
div_height = $("#"+id).height();
div_offset = $("#"+id).offset().top;
window_height = $(window).height();
$('html,body').animate({
scrollTop: div_offset-window_height+div_height
},'slow');
}
scrollToBottom('call_div_id');
इनमें से किसी ने भी मेरे लिए काम नहीं किया, मेरे पास एक मेसेजिंग सिस्टम है जो एक वेब ऐप के अंदर है जो फेसबुक मैसेंजर के समान है और चाहता था कि मैसेज डिव के नीचे दिखाई दें।
इसने एक इलाज किया, मूल जावास्क्रिप्ट।
window.onload=function () {
var objDiv = document.getElementById("MyDivElement");
objDiv.scrollTop = objDiv.scrollHeight;
}
मैं एक विरासत कोडबेस में काम कर रहा हूं जो Vue की ओर पलायन कर रहा है।
मेरी विशिष्ट स्थिति में (बूटस्ट्रैप मोडल में लिपटे स्क्रॉल करने योग्य div), एक v-if नई सामग्री दिखाई गई, जिसे मैं पृष्ठ को नीचे स्क्रॉल करना चाहता था। इस व्यवहार को काम करने के लिए, मुझे री-रेंडरिंग समाप्त करने के लिए प्रतिज्ञा का इंतजार करना पड़ा, और फिर मॉडल के नीचे स्क्रॉल करने के लिए jQuery का उपयोग करना पड़ा।
इसलिए...
this.$nextTick(function() {
$('#thing')[0].scrollTop = $('#thing')[0].scrollHeight;
})
आप पृष्ठ लोड पर div से नीचे स्क्रॉल करने के लिए नीचे दिए गए कोड का उपयोग कर सकते हैं।
$(document).ready(function(){
$('div').scrollTop($('div').scrollHeight);
});
आप नीचे दिए गए कोड की तरह स्क्रॉल करने के लिए स्क्रॉलटॉप के साथ स्क्रॉलहाइट और क्लाइंटहाइट की जांच कर सकते हैं।
$('#div').scroll(function (event) {
if ((parseInt($('#div')[0].scrollHeight) - parseInt(this.clientHeight)) == parseInt($('#div').scrollTop()))
{
console.log("this is scroll bottom of div");
}
});