调整屏幕大小会导致问题

时间:2016-11-02 16:08:59

标签: javascript jquery html css

我有一个页面,其中我有两个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');
  }

1 个答案:

答案 0 :(得分:1)

不要使用display:none隐藏div,请尝试visibility:hidden 如果这不起作用,请尝试使用opacity:0

这样滑块就可以正常工作而不会出现问题。 问题可能是因为display:none有副作用(例如使offsetHeight 0)