আমি "ওভারফ্লো: লুকানো" পদ্ধতিতে লেগে থাকতে চাই এবং কেবল স্ক্রোলবার প্রস্থের সমান প্যাডিং-ডান যুক্ত করব।
লাস্টসোর্স দ্বারা স্ক্রোলবার প্রস্থের ফাংশন পান ।
function getScrollbarWidth() {
var outer = document.createElement("div");
outer.style.visibility = "hidden";
outer.style.width = "100px";
outer.style.msOverflowStyle = "scrollbar"; // needed for WinJS apps
document.body.appendChild(outer);
var widthNoScroll = outer.offsetWidth;
// force scrollbars
outer.style.overflow = "scroll";
// add innerdiv
var inner = document.createElement("div");
inner.style.width = "100%";
outer.appendChild(inner);
var widthWithScroll = inner.offsetWidth;
// remove divs
outer.parentNode.removeChild(outer);
return widthNoScroll - widthWithScroll;
}
ওভারলেটি দেখানোর সময়, এইচটিএমএলে "নসক্রোল" শ্রেণি যুক্ত করুন এবং দেহে প্যাডিং-ডান যুক্ত করুন:
$(html).addClass("noscroll");
$(body).css("paddingRight", getScrollbarWidth() + "px");
লুকানোর সময়, ক্লাস এবং প্যাডিং সরান:
$(html).removeClass("noscroll");
$(body).css("paddingRight", 0);
ন্যাসক্রোল শৈলীটি কেবল এটি:
.noscroll { overflow: hidden; }
মনে রাখবেন যে পজিশনের সাথে যদি আপনার কোনও উপাদান থাকে: স্থির থাকে তবে আপনাকে সেই উপাদানগুলিতেও প্যাডিং যুক্ত করতে হবে।