2016-11-02 7 views
0

두 개의 div가있는 페이지가 있는데 하나는 전체 화면을 차지하고 div는 여전히 표시되는 지점에서만 스크롤 할 수 있습니다. 그런 식으로 다른 div는 표시되지 않으며 클릭 한 번만 표시되어야합니다. 내가 가지고있는 문제는 스크린 크기를 더 작게 만들면 더 커지고, 다른 div는 다시 스크롤을 시작한 지점까지 볼 수있게되고, 다시 설정되고 첫 번째 div는 전체 화면을 다시 차지합니다. 두 번째 div showhide 기능을 가지고 있기 때문에 슬라이더에 문제가 있기 때문에 기능을 제대로 수행하지 못합니다. 먼저 숨기고 나서 표시하면 스크롤 할 수 없게됩니다. 다른 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

정확히 무슨 일이 일어나는지 볼 수 있도록 피들을 추가하십시오. – JasonK

답변

1

대신 display:nonevisibility:hidden 시도로이 귀하의 슬라이더가 문제없이 제대로 작동해야 opacity:0

이 방법을 사용해보십시오 작동하지 않는 경우 사업부를 숨기기 :

이 내 스크립트입니다. 문제는 아마도 display:none에 부작용이 있습니다 (예 : offsetHeight을 0으로 만듭니다)

관련 문제