[英]Prevent non-fixed elements from scrolling when reaching the end of a fixed element
我知道這個問題曾經被問過,但是我找不到答案。
基本上,我有一個固定的側邊欄,其中包含菜單和頁面的其余部分。
滾動固定的側邊欄並到達末尾時,頁面的其余部分開始滾動到。 我知道這是“正常行為”,但我需要防止這種情況的發生。
我還嘗試將頁面的其余部分(容器) fixed
並在其上使用overflow:auto
,這可以完成工作,但是會干擾我的asp.net應用程序中的MaintainScrollPositionOnPostBack = true
屬性。
任何指導將不勝感激。
一個簡單的解決方法是,只要您將鼠標懸停在菜單上就可以禁用容器上的滾動,而當您將鼠標懸停在菜單上時可以將其還原:
$('.menu').hover(function() {
$('.container').css('overflow', 'hidden');
}, function() {
$('.container').css('overflow', 'auto');
});
或者,如果菜單在HTML中的容器之前,您甚至可以嘗試:
.menu:hover + .container {
overflow: hidden;
}
如下所述,這是在沒有閃爍的滾動條的情況下解決了問題的方法:
jQuery的:
$('.menu').hover(function() {
$('body').addClass("noscroll");
}, function() {
$('body').removeClass("noscroll");
});
CSS:
body.noscroll {
position: fixed;
overflow-y: scroll;
width: 100%;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.