0
JQuery 모바일을 사용하고 있으며 목록보기가 스크롤되고 특정 항목이 화면에 표시 될 때 이벤트를 발생시키고 싶습니다.JQM - 항목이 화면에 표시되는지 감지하는 방법
이벤트가 있습니까?! 내 선택은 뭐니?!
감사합니다.
JQuery 모바일을 사용하고 있으며 목록보기가 스크롤되고 특정 항목이 화면에 표시 될 때 이벤트를 발생시키고 싶습니다.JQM - 항목이 화면에 표시되는지 감지하는 방법
이벤트가 있습니까?! 내 선택은 뭐니?!
감사합니다.
AFAIK 이렇게하려면 jQM에 이벤트가 없지만이를 수행하려면 StackOverflow에서 다른 솔루션의 아이디어를 결합 할 수 있습니다.
는 항목이 표시되어 있는지 확인하려면 몇 가지 코드, 즉 : 당신은scrollstop
이벤트와이를 결합 할 수 있습니다
function isScrolledIntoView(elem)
{
var docViewTop = $(window).scrollTop();
var docViewBottom = docViewTop + $(window).height();
var elemTop = $(elem).offset().top;
var elemBottom = elemTop + $(elem).height();
return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom)
&& (elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}
을 제공합니다. 당신은 여기에서 그런 $(document).ready
당신이
var watchitem;
$(document).ready(function(){
watchitem = document.getElementById ('myiditem');
/* Bind to scroll event */
$(window).bind('scrollstop', function() {
if (isScrolledIntoView(watchitem)) {
alert('monitored li item was scrolled into view');
}
});
});
을 할 수
<li id="myiditem">
<a href="bmw.html">I'm being watched!!</a>
</li>
로 정의 된 <li>
항목을 모니터링 jsFiddle 예입니다 있다고 말한다.