javascript - 在视口(viewport)上检测

标签 javascript jquery html css

我需要检测某些 div 的底部边框何时触及视口(viewport)底部,然后触发某些功能。我试过这个

jQuery(function ($) { 

$.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 ($('.gallery full-width-container').isOnScreen() == true) {
     $('.portfolio-description-showinfo').addClass('testing');   
   }
});

});

但是这个函数检测到 div 何时进入视口(viewport),而不是当 div 的底部位于视口(viewport)底部时。任何提示,帮助?谢谢。

最佳答案

试试这个:

$(window).scroll(function() {
   if ($('.gallery full-width-container').isOnScreen() == true) {
      if ($(".portfolio-description-showinfo").offset().top + $(".portfolio-description-showinfo").height()) >= $(window).height() {
         $('.portfolio-description-showinfo').addClass('testing');  
      } 
   }
});

关于javascript - 在视口(viewport)上检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46485204/

相关文章:

html - Div 溢出以下列表

javascript - 使用 Firefox 的附加 SDK 创建动态首选项面板

html - 各种浏览器字体不一致,请问有解决办法吗?

javascript - 分区高度 : 100% between 2 divs

javascript - 检查javascript中的变量是否是图像url

javascript - meteor 从事件更新模板

jquery - 具有百分比高度和最小高度的模态

javascript - 如何使用 PHP ajax JQUERY 创建 3 个依赖下拉列表?

javascript - 使用编辑区域 javascript 插件时保存文本区域

javascript - 字段数量未知的流对象