উত্তর:
আপনি যদি একটি দুর্দান্ত ধীর অ্যানিমেশন স্ক্রোল চান তবে এর সাথে যে কোনও অ্যাঙ্কর href="#bottom"
আপনাকে নীচে স্ক্রোল করবে:
$("a[href='#bottom']").click(function() {
$("html, body").animate({ scrollTop: $(document).height() }, "slow");
return false;
});
নির্বাচক পরিবর্তন করতে নির্দ্বিধায়।
স্ক্রোলটপ () স্ক্রোলযোগ্য অঞ্চল থেকে পিক্সেলগুলির সংখ্যাটি লুকানো রয়েছে যা তাই দেয়:
$(document).height()
প্রকৃতপক্ষে পৃষ্ঠার নীচের অংশটিকে ছাপিয়ে যাবে। পৃষ্ঠার নীচে আসলে 'থামাতে' স্ক্রোলের জন্য, ব্রাউজার উইন্ডোটির বর্তমান উচ্চতার বিয়োগ করা প্রয়োজন। এটি প্রয়োজনে শিথিলকরণের ব্যবহারের অনুমতি দেবে, তাই এটি হয়ে যায়:
$('html, body').animate({
scrollTop: $(document).height()-$(window).height()},
1400,
"easeOutQuint"
);
easeOutQuint
একটি প্লাগইন প্রয়োজন, jQuery নিজেই কেবল linear
এবং থাকে swing
।
<!DOCTYPE html>
Chrome এ অন্তর্ভুক্ত না করেন তবে ক্রোম উইন্ডো এবং ডকুমেন্টের উচ্চতার জন্য ঠিক একই মানটি ফিরিয়ে দেবে, এক্ষেত্রে $(document).height()-$(window).height()
সর্বদা 0 ফিরে আসবে here এখানে দেখুন: স্ট্যাকওভারফ্লো
এই থ্রেডটি আমার নির্দিষ্ট প্রয়োজনের জন্য আমার জন্য কার্যকর না হওয়ার পরে (একটি নির্দিষ্ট উপাদানের ভিতরে স্ক্রোলিং করা, আমার ক্ষেত্রে একটি টেক্সারিয়ার) আমি এটি অসাধারণের বাইরে খুঁজে পেয়েছি, যা অন্য কেউ এই আলোচনাটি পড়তে সহায়ক হতে পারে:
যেহেতু আমার কাছে ইতিমধ্যে আমার jQuery অবজেক্টের ক্যাশেড সংস্করণ ছিল ( myPanel
নীচের কোডটিতে jQuery অবজেক্টটি রয়েছে), তাই আমি আমার ইভেন্ট হ্যান্ডলারে যে কোডটি যুক্ত করেছি তা হ'ল এই:
myPanel.scrollTop(myPanel[0].scrollHeight - myPanel.height());
(ধন্যবাদ বেন)
var d = $('#mydiv'); d.scrollTop (d[0].scrollHeight - d.height ());
একটি সাধারণ ফাংশন যা পুরো পৃষ্ঠার নীচে লাফ দেয় (তাত্ক্ষণিকভাবে স্ক্রোল করে)। এটি বিল্ট-ইন ব্যবহার করে .scrollTop()
। আমি পৃথক পৃষ্ঠার উপাদানগুলির সাথে কাজ করার জন্য এটি খাপ খাইবার চেষ্টা করিনি।
function jumpToPageBottom() {
$('html, body').scrollTop( $(document).height() - $(window).height() );
}
$(document).scrollTop($(document).height());
এই একজন আমার পক্ষে কাজ করেছেন:
var elem = $('#box');
if (elem[0].scrollHeight - elem.scrollTop() == elem.outerHeight()) {
// We're at the bottom.
}
আপনি যদি অ্যানিমেশন সম্পর্কে চিন্তা করেন না, তবে আপনাকে উপাদানটির উচ্চতা পেতে হবে না। কমপক্ষে সমস্ত ব্রাউজারে আমি চেষ্টা করেছি, আপনি যদি scrollTop
সর্বাধিকের চেয়ে বড় যে কোনও নম্বর দেন তবে এটি কেবল নীচে স্ক্রোল করবে। সুতরাং এটি সবচেয়ে বড় সংখ্যাটি দিন:
$(myScrollingElement).scrollTop(Number.MAX_SAFE_INTEGER);
আপনি যদি স্ক্রোলবারের সাথে কিছু উপাদান না দিয়ে পৃষ্ঠাটি স্ক্রোল করতে চান তবে কেবল myScrollingElement
'বডি, এইচটিএমএল' এর সমান করুন।
যেহেতু আমাকে বেশ কয়েকটি জায়গায় এটি করা দরকার তাই আমি এটিকে আরও সুবিধাজনক করার জন্য একটি দ্রুত এবং নোংরা jQuery ফাংশন লিখেছি:
(function($) {
$.fn.scrollToBottom = function() {
return this.each(function (i, element) {
$(element).scrollTop(Number.MAX_SAFE_INTEGER);
});
};
}(jQuery));
সুতরাং যখন আমি গুচ্ছ 'স্টাফ যুক্ত করি তখন আমি এটি করতে পারি:
$(myScrollingElement).append(lotsOfHtml).scrollToBottom();
পূর্ববর্তী উত্তরে বর্ণিত স্ক্রিপ্টগুলি যেমন:
$("body, html").animate({
scrollTop: $(document).height()
}, 400)
অথবা
$(window).scrollTop($(document).height());
কাজ করবে না এ ক্রোম এবং লাফানে হতে হবে সাফারি ক্ষেত্রে html
ট্যাগে সিএসএস হয়েছে overflow: auto;
সম্পত্তি সেট। এটি জানতে আমার প্রায় এক ঘন্টা সময় লেগেছে।
$('.block').scrollTop($('.block')[0].scrollHeight);
নতুন বার্তা এলে আমি এই কোডটি চ্যাট স্ক্রোল করতে ব্যবহার করি।