2017-10-11 13 views
2

jQuery를 사용하여 선택 윤곽이 스크롤되는 것을 감지하는 방법은 무엇입니까? 당신은 marquee 내부 p를 추가하고 해당 left 위치를 확인할 수 있습니다선택 윤곽이 스크롤되는지 확인하는 방법

$(function(){ 

    var marquee = $("marquee")[0]; 

    $("#btnCheck").click(function(){ 
    // How to check if marquee is scrolling here 
    }); 
}); 
+0

그것은 말했다 될 필요가있다. ''태그는 HTML 사양에 존재하지 않습니다. 현재 HTML5 사양에 글을 쓰지는 않지만 사용하지 않는 것으로 표시하는 용도로만 사용됩니다. 나는 세부 사항을 잊었다. ''을 사용하지 마십시오. – Rob

답변

3

: 같은

<marquee>Scrolling text here, moving constantly</marquee> 
 

 
<button id="btnCheck">Button</button>

내 jQuery 코드

보인다. 이 변경되면, 다음 marquee이 조각처럼, 그렇지 않으면하지, 스크롤된다

$(function() { 
 
    $("#btnCheck").click(function() { 
 
     var initialLeft = $('marquee > p').position().left; 
 
     setTimeout(function() { 
 
      var currentLeft = $('marquee > p').position().left; 
 

 
      if (initialLeft !== currentLeft) { 
 
       alert("Marquee is scrolling!"); 
 
      }else{ 
 
       alert("Marquee is not scrolling"); 
 
      } 
 
     }, 100); 
 
    }); 
 
});
p { 
 
    margin: 0 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<marquee loop="1"><p>Scrolling text here, moving constantly</p></marquee> 
 
<button id="btnCheck">Button</button>


P/S :

이를합니다 (HTML <marquee>) 기능은 더 이상 사용되지 않습니다. 일부 브라우저에서는 여전히 작동하지만 언제든지 제거 할 수 있으므로 사용하지 않는 것이 좋습니다. 을 사용하지 마십시오.

은 참조 : developer.mozilla.org

+0

나는 다른 것을 가지고있다. 나는 그것을 통합하려고 시도했지만, initialLeft와 currentLeft는 항상 같았고, 따라서 스크롤이 멈추더라도 항상 스크롤하는 것으로 경고했다. 내가 잘못 했니? –

+0

아마도 당신의 선택 윤곽의 속도가 디폴트보다 느리고,'setTimeout'의 타임 아웃 시간이 충분하지 않다면,'}, 100) 부분에서 더 큰 값으로 증가 시키십시오. –