পৃষ্ঠার লোডে ডিভের নীচে স্ক্রোল করুন (jQuery)


238

আমার পৃষ্ঠায় আমার একটি ডিভ রয়েছে:

<div id='div1' style='overflow:scroll;overflow-x:hidden;max-height:200px;'></div>

ডিভের নীচে ডিভ স্ক্রোলটি কীভাবে করব? পৃষ্ঠাটি নয়, কেবল ডিআইভি।

উত্তর:


610

"বাইরে maxes" Div (উচ্চতা পরিবর্তে উচ্চতা স্ক্রল করে নিচে এটা - অন্যান্য সমাধানের এখানে বিষয়বস্তু প্রচুর সঙ্গে আছে divs জন্য কাজ না আসলে কি বিষয়বস্তু এর div)। সুতরাং তারা কাজ করবে, যদি না আপনি এর ভিতরে থাকা সামগ্রীতে ডিভের উচ্চতা দ্বিগুণের বেশি না করেন।

এখানে সঠিক সংস্করণ:

$('#div1').scrollTop($('#div1')[0].scrollHeight);

বা jQuery 1.6+ সংস্করণ:

var d = $('#div1');
d.scrollTop(d.prop("scrollHeight"));

বা অ্যানিমেটেড:

$("#div1").animate({ scrollTop: $('#div1').prop("scrollHeight")}, 1000);

5
এটিও কাজ করে: $ ('# Div1') sc স্ক্রোলটপ ($ ('# Div1') att অ্যাটর ("স্ক্রোলহাইট"));
মাইক টড

2
একটি নিখুঁত উচ্চতা (px এ) সেট না করে এই কাজটি কীভাবে করবেন div1?
znat

সাবাশ! আমি স্ক্রোল করার জন্য একটি স্নিপেট খুঁজছিলাম এবং আমি এটি পৃষ্ঠা স্ক্রোলিং (এইচটিএমএল, বডি) খুঁজে পেতে পারি all এটি দুর্দান্ত সমাধান এবং এটি সর্বদা নীচে পৌঁছেছে তা নিশ্চিত করার জন্য স্ক্রোলহাইট ব্যবহার করা দুর্দান্ত উপায়।
কেভিন মারমেট

আশ্চর্যজনক, দ্বিতীয়টি এটির মতো কাজ করে:d = $('#div1'); $(d).scrollTop( $(d).prop("scrollHeight") );
loretoparisi

56

বর্তমানে "গৃহীত" একটি সহ আমি এখানে যে সমস্ত উত্তর দেখতে পাচ্ছি সেগুলি সেগুলিতে আসলেই ভুল:

scrollTop = scrollHeight

যেখানে সঠিক পদ্ধতির সেট করতে হবে:

scrollTop = scrollHeight - clientHeight

অন্য কথায়:

$('#div1').scrollTop($('#div1')[0].scrollHeight - $('#div1')[0].clientHeight);

বা অ্যানিমেটেড:

$("#div1").animate({
  scrollTop: $('#div1')[0].scrollHeight - $('#div1')[0].clientHeight
}, 1000);

আমার একটি সেট একটি উচ্চতা এবং অটো প্রবাহ অটোতে সেট আছে। অ্যানিমেটেড উত্তরগুলি কাজ করেছে তবে এটি কেবলমাত্র অ-অ্যানিমেটেড সমাধান যা ডিভের সেট উচ্চতা নয়, বরং "সামগ্রী" এর নীচে স্ক্রোল করবে। বলিহারি!
ডার্কলোকি

23

আপডেট: সম্পূর্ণ উত্তরের জন্য মাইক টডের সমাধান দেখুন


$("#div1").animate({ scrollTop: $('#div1').height()}, 1000);

যদি আপনি এটি অ্যানিমেটেড করতে চান (1000 মিলিসেকেন্ডেরও বেশি)।

$('#div1').scrollTop($('#div1').height())

যদি আপনি এটি তাত্ক্ষণিক চান।


8
ভুল! .hight () প্রদর্শিত ক্ষেত্রের মধ্যে সীমাবদ্ধ, .প্রপ ("স্ক্রোলহাইট") ডিভের আসল উচ্চতা।
পয়েন্টার নুল

5
কাফনের কাপড়! এজন্য মাইক টডের উত্তরটি আমার গৃহীত নয়, আমার।
অ্যালেক্সিস কবুতর

15
$(window).load(function() {
  $("html, body").animate({ scrollTop: $(document).height() }, 1000);
});

এটি পৃষ্ঠার উচ্চতা ধরে ফেলবে এবং উইন্ডোটি লোড হয়ে গেলে এটি নীচে স্ক্রোল করে। 1000একবার পৃষ্ঠা প্রস্তুত হয়ে গেলে আপনার এটির দ্রুত / ধীর গতিতে যা করতে হবে তা পরিবর্তন করুন ।


এই পুরো পাতা ঠিক স্ক্রোল? আমি কেবল ডিভটি ডিভের নীচে স্ক্রোল করতে চাই।
DobotJr

2
Touche। একই যুক্তি, বিভিন্ন নির্বাচক।
চির্ডস


5

টার্গেট ডিভের নীচে উইন্ডোটি স্ক্রোল করুন।

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');

5

নিম্নলিখিত কাজ করবে। দয়া করে নোট করুন [0]এবংscrollHeight

$("#myDiv").animate({ scrollTop: $("#myDiv")[0].scrollHeight }, 1000);

5

jquery এ প্রাণবন্ত (সংস্করণ> 2.0)

var d = $('#div1');
d.animate({ scrollTop: d.prop('scrollHeight') }, 1000);

4

এগুলির কোনওটিই আমার পক্ষে কাজ করেনি, আমার কাছে ওয়েব অ্যাপের ভিতরে একটি বার্তা সিস্টেম রয়েছে যা ফেসবুক মেসেঞ্জারের অনুরূপ এবং বার্তাগুলি একটি ডিভের নীচে উপস্থিত হওয়া চাইত।

এটি একটি ট্রিট, বেসিক জাভাস্ক্রিপ্ট কাজ করেছে।

window.onload=function () {
     var objDiv = document.getElementById("MyDivElement");
     objDiv.scrollTop = objDiv.scrollHeight;
}

1
আপনার কাছে সম্ভবত jQuery ইনস্টল করা নেই। আপনি নেটিভ ডোম নিয়ে কাজ করছেন, তারা jQuery ব্যবহার করছে। jquery.com
csga5000

খুব ঝরঝরে এবং মার্জিত সমাধান।
দিব্যংশু দাস

2

আমি কোনও লিগ্যাসি কোডবেসে ভিউতে মাইগ্রেট করার চেষ্টা করছি।

আমার নির্দিষ্ট পরিস্থিতিতে (একটি স্ক্রোলযোগ্য ডিভ বুটস্ট্র্যাপ মডেলটিতে আবৃত), একটি ভি-যদি নতুন সামগ্রী দেখায়, যা আমি পৃষ্ঠাটি নীচে স্ক্রোল করতে চেয়েছিলাম। এই আচরণটি কাজ করার জন্য, আমাকে পুনরায় রেন্ডারিং শেষ করার জন্য ভয়ের অপেক্ষা করতে হয়েছিল, এবং তারপরে মডেলের নীচে স্ক্রোল করতে jQuery ব্যবহার করতে হবে।

তাই ...

this.$nextTick(function() {
    $('#thing')[0].scrollTop = $('#thing')[0].scrollHeight;
})

0

পৃষ্ঠার লোডে ডিভের নীচে স্ক্রোল করতে আপনি নীচের কোডটি ব্যবহার করতে পারেন।

$(document).ready(function(){
  $('div').scrollTop($('div').scrollHeight);
});

0

আপনি নীচের কোডের মত ডিভের নীচে স্ক্রোল করতে স্ক্রোলটপ সহ স্ক্রোলহাইট এবং ক্লায়েন্টহাইট পরীক্ষা করতে পারেন।

$('#div').scroll(function (event) {
  if ((parseInt($('#div')[0].scrollHeight) - parseInt(this.clientHeight)) == parseInt($('#div').scrollTop())) 
  {
    console.log("this is scroll bottom of div");
  }
  
});


সমাধান দেওয়ার আগে দয়া করে সর্বদা আপনার কোডটি পরীক্ষা করুন।
লক্ষ্মী

-2

পৃষ্ঠাটি লোড হওয়ার পরে স্ক্রোলটি সর্বাধিক মান।

এটি বার্তা বাক্স যখন ব্যবহারকারী বার্তা প্রেরণ করেন তখন সর্বদা সর্বশেষতম চ্যাটটি নীচে দেখান যাতে স্ক্রোলটির মান সর্বদা সর্বোচ্চ হয়।

$('#message').scrollTop($('#message')[0].scrollHeight);

চিত্র দেখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.