我有一个页面,其中我有两个div,一个占据整个屏幕,并且滚动仅启用div仍然可见的点。这样,另一个div不可见,它应该只在点击时变得可见。我遇到的问题是,如果我调整屏幕大小,使其变大,那么当这样做时,另一个div变得可见,直到我再次开始滚动,重置的位置,第一个div再次占据整个屏幕。我无法使用第二个div show
hide
函数,因为我在那里有滑块的问题,如果我先隐藏它然后显示它,它就无法正常工作,所以我已禁用滚动,以使其他div不可见。如何在制作更大的屏幕时避免显示div?
这是我的剧本:
if (window.location.pathname == '/all') {
$('body').css('overflow-y', 'auto');
scrollPoint = $(".magazine-section").offset().top - $(window).height();
$(window).scroll(function() {
$(window).scrollTop() > scrollPoint ? $(window).scrollTop(scrollPoint) : '';
}).scroll();
$( window ).resize(function() {
scrollPoint = $(".magazine-section").offset().top - $(window).height();
});
}
else {
$('body').css('overflow-y', 'hidden');
}
答案 0 :(得分:1)
不要使用display:none
隐藏div,请尝试visibility:hidden
如果这不起作用,请尝试使用opacity:0
这样滑块就可以正常工作而不会出现问题。
问题可能是因为display:none
有副作用(例如使offsetHeight
0)