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

http://www.materiaprima.co.uk/



More discussions in Dreamweaver support forum


adobe

Comments

Popular posts from this blog

Upgrade 3.4.8 to 3.5.1 failed "download package failed" - Joomla! Forum - community, help and support

Joomal 3.6.3 update error - PHP temporary folder is not set - Joomla! Forum - community, help and support

Fatal error during instalation - Joomla! Forum - community, help and support