detect if div is visible
hi, i'm trying use jquery detect if div visible in browser , if run ajax code. can please advise me mistake/s in code? thanks!!
<script>
function topinviewport(element) {
return $(element).offset().top >= $(window).scrolltop() && $(element).offset().top <= $(window).scrolltop() + $(window).height();
}
</script>
<script>
$(window).on("load resize scroll",function(e){
topinviewport($("#mydivname"))
}) // returns true or false
{
// ajaxcode goes here
}
ok let's use jquery .on() that's more elegant
<script>
jquery(function($){ init(); }); // start jquery when dom ready
function init() { // start
setwindow(); // set window events
}
function setwindow() {
$(window).on("load resize scroll", function(e) { // when window ready, resized, or scrolled
viewportlog(); // log view counter
});
}
function viewportlog() { // log view counter
if(topinviewport($("#mydivname"))) { // if element in viewport
$(window).off(); // remove event listeners window not needed anymore
$.ajax(yourserverscripturl); // run counter script
}
}
function topinviewport(element) { // top of element in viewport?
return $(element).offset().top >= $(window).scrolltop() && $(element).offset().top <= $(window).scrolltop() + $(window).height();
}
</script>
--
kenneth kawamoto
More discussions in Dreamweaver support forum
adobe
Comments
Post a Comment