2012-09-10 2 views
1

감지 예전에 다음과 같은 문제에 대한 스크립트 나 기사를 건너 왔어요 :스크롤 의도

도 스크롤되는 내부의 여러 요소를 스크롤하는 페이지를 상상해보십시오. 페이지를 아래로 스크롤 할 때 커서는 스크롤 가능한 요소를 가로 질러오고 초점을 맞 춥니 다. 결과적으로 해당 요소에서 커서를 제거하거나 전체 페이지를 다시 스크롤하기 전에 해당 요소를 아래로 스크롤해야합니다.

데모에서는 커서 이동 후 스크롤 가능한 요소 나 스크롤의 중단에 초점을 맞춤으로써 그 문제를 해결했습니다. 따라서 페이지를 아래로 스크롤 할 때 중단없이 스크롤 할 수 있습니다 (스크롤 할 수있는 요소 위로 이동).

누구에게 무슨 스크립트가 있는지 알고 있습니까?

+0

나는 사용자가 BEHAVOIR을 (를) 사용자가 변경하지 말 것을 권고합니다! –

+0

@ 본디 당신이 게시하고 (제거한) 주제는 전혀 다른 질문이었습니다. – dubbelj

답변

0

내가 알았다면 그렇지 않으면 알려주세요. 스크롤 이벤트를 감지하려면 jquery 페이지의 scroll()을 사용해야합니다. 여기 데모를 참조하십시오

<!DOCTYPE html> 
<html> 
<head> 
    <style> 
    div { color:blue; } 
    p { color:green; } 
    span { color:red; display:none; } 
    </style> 
    <script src="http://code.jquery.com/jquery-latest.js"></script> 
</head> 
<body> 
    <div>Try scrolling the iframe.</div> 
    <p>Paragraph - <span>Scroll happened!</span></p> 
<script> 
    $("p").clone().appendTo(document.body); 
    $("p").clone().appendTo(document.body); 
    $("p").clone().appendTo(document.body); 
    $(window).scroll(function() { 
     $("span").css("display", "inline").fadeOut("slow"); 
    }); 

</script> 

</body> 
</html> 

:

이 예제를 시도 http://jsfiddle.net/4M7XK/이 (오른쪽 아래 블록의 높이를 최소화)

0

미안 해요,하지만 지금은 당신이 언급하는 원래의 기사를하지 않습니다 여기에 아이디어가 있습니다. 어떻게 작동하게할까요?

일단 사용자가 스크롤을 시작합니다. (예 : $ (window) .scroll (function() {...}) jQuery에서), 빈 div는 위에서 아래로 전체 페이지를 덮을 것입니다. 이 요소는 다른 모든 스크롤 가능한 div보다 우선하여 스크롤 이벤트를 catch 할 때마다이를 방지합니다. 이 요소는 몇 밀리 초의 시간 초과로 제거되어야합니다.

$(window).scroll(function(){ 
var $cover = $('<div style="position: absolute; left: 0px; top: 0px; width: 100%; height: '+ $(document).height() + 'px; z-index: 100000">asdasd</div>') 
$cover.appendTo($("body")); 
setTimeout(function(){ 
    $cover.remove(); 
},200); 
});