2012-03-16 2 views
0

긴 질문 : 페이스 북에서 하나의 팝업 창이 (someones 피드의 질문을 열 때처럼) 스크롤 동작에 영향을 미쳐서 물론 주요 내용을 스크롤하지만 높이에 따라 팝업 창의 콘텐츠 만 스크롤합니다. 이렇게하면 어떻게 할 수 있습니까?주 내용 높이가 아닌 팝업 창 높이를 스크롤하십시오.

짧은 질문 :DIV의 내용 높이에 스크롤을 "집중"으로 만들려면 어떻게해야합니까?

나는 이것을 멀리 만들었습니다 : http://jsfiddle.net/y3qV5/506/. 내가 무슨 뜻인지 이해하시기 바랍니다 :)

미리 감사드립니다.

+0

는이 같은 뭔가를 찾고 계십니까? http://stackoverflow.com/questions/7571370/jquery-disable-scroll-when-mouse-over-an-absolute-div/7571867#7571867 – mrtsherman

+0

http://jsfiddle.net/y3qV5/515/ – mrtsherman

+0

아니지만 거의 그런 식으로. 팝업 창이 표시되면 팝업 창 콘텐츠가 웹 사이트의 브라우저 표시 공간보다 크지 않으면 스크롤이 비활성화됩니다. 제가 의미하는 것을 설명하기 위해이 그림을보십시오 : http://erik-edgren.nu/uploadit/images/be4e0e0cee02a7b3f6f2d4d94a1c4443.jpg – Erik

답변

0

overflow: hidden을 본문에 추가 할 수 있습니다.

http://jsfiddle.net/y3qV5/520/

body.freeze { overflow: hidden; } 

$('#pop').click(function() { 
    $('.welcome').fadeIn(); 
    $('body').addClass('freeze'); 
}); 

$('#close').click(function() { 
    $('.welcome').fadeOut(); 
    $('body').removeClass('freeze'); 
}); 

올드 답 : http://jsfiddle.net/y3qV5/519/

//bind on show 
$('.welcome').fadeIn().bind('mousewheel DOMMouseScroll', function(e) { 
    console.log('scroll'); 
    var scrollTo = null; 

    if (e.type == 'mousewheel') { 
     scrollTo = (e.originalEvent.wheelDelta * -1); 
    } 
    else if (e.type == 'DOMMouseScroll') { 
     scrollTo = 40 * e.originalEvent.detail; 
    } 

    if (scrollTo) { 
     console.log('prevent'); 
     e.preventDefault(); 
     $(this).scrollTop(scrollTo + $(this).scrollTop()); 
    } 
}); 


//unbind on close 
$('.welcome').fadeOut().unbind('mousewheel DOMMouseScroll'); 
+0

내 질문에 귀하의 의견을 읽었습니다. 스크롤을 통해 내용의 스크롤이 비활성화되지 않고 내가 링크 된 이미지에서 보여준 것처럼 팝업 창만 스크롤하십시오. 귀하의 기능은 Internet Explorer에서만 작동한다고 가정합니다. Chrome을 사용하고 있습니다. – Erik

+0

알겠습니다. 그냥'overflow : hidden '을 몸체에 추가하십시오. – mrtsherman

+0

많은 감사합니다! 그런데 어떻게 페이스 북과 같이 전체 페이지의 일반 스크롤처럼 팝업 창을 스크롤하게 할 수 있습니까? 나는 팝업 창을 iframe과 같은 느낌으로 만들고 싶지 않습니다. – Erik

관련 문제