2014-11-11 2 views
0

내 페이지에 div가 있으며 뷰어를 스크롤 할 때 배경색을 변경하고 싶습니다.개체가 뷰포트에 표시 될 때 작업 수행

어떻게하면됩니까?

+0

가능한 중복 [요소가 스크롤 한 후 볼 수 있는지 확인 (http://stackoverflow.com/questions/487073/check-if -element-is-visible-after-scrolling). – Chris

답변

1

...의

var elemTop = $('div').offset().top; 
    $(window).scroll(function() { 
    if($(this).scrollTop() == elemTop) { 
     $('div').removeClass('hidden'); 
    } 
}); 
1

위의 설명자가 맞습니다. 먼저 무언가를 시도해보아야하며, 갇히게되면 커뮤니티가 당신을 풀 수 있도록 도와줍니다. 즉, 여기에 문제를 해결할 수있는 빠른 jquery가 있습니다. 위의 코드는 귀하의 요구 사항 과거의 모든 지점에서 console.log()을 실행

$(document).ready(function(){ 
    var offsetTop = $('#test').offset().top, //offset from top of element - element has id of 'test' 
     finalOffset = offsetTop - document.documentElement.clientHeight; //screen size 
    $(window).on('scroll',function(){ 
     var whereAmI = $(document).scrollTop(); 
     if(whereAmI >= offsetTop){ 
      console.log("i've arrived at the destination"); 
     } 
    }) 
}) 

하는 것으로 (이 아래에서 의미). 실행을 하나만 수행하려면 코드를 약간 수정해야합니다. 한 가지 더 메모 - 바이올린에서 이것을 확인하는 경우이 document.documentElement.clientHeight을 iframe에서 작동하도록 조정해야합니다. 로컬 컴퓨터에서 테스트하십시오. 나는 이런 식으로 뭔가와 CSS3를 사용했을

+0

죄송합니다. 몇 번 검색 한 결과 절대로 발견되지 않았습니다.) – flyingfisch

관련 문제