Skip to content

JS偵測 物件出現在 viewprot

lululala edited this page Feb 3, 2017 · 1 revision
 $.fn.isOnScreen = function(){

    var win = $(window);

    var viewport = {
      top : win.scrollTop(),
      left : win.scrollLeft()
    };
    viewport.right = viewport.left + win.width();
    viewport.bottom = viewport.top + win.height();

    var bounds = this.offset();
    bounds.right = bounds.left + this.outerWidth();
    bounds.bottom = bounds.top + this.outerHeight();

    return (!(viewport.right < bounds.left || viewport.left > bounds.right || viewport.bottom < bounds.top || viewport.top > bounds.bottom));

  };

使用方法

$(window).scroll(function(){
      if($('.footer').isOnScreen() && tmp == false ){
        tmp = true
        var url = $("#load-more").attr("href");
        if (url) {
          $.ajax({
            type: "GET",
            url: url,
            dataType: "script"
          })
        }
      }
      if(!$('.footer').isOnScreen()){
        tmp = false
      }
    })