javascript - 显示/隐藏 div 取决于 viewpwort 中的特定类

标签 javascript jquery viewport

我尝试创建一个固定定位区域,当视口(viewport)中有特定区域时,该区域应该隐藏。当 div 超出视口(viewport)时,应再次显示固定区域。

我为此使用 jquery.viewport。

我的 HTML:

<section id="section-1">
  <div class="sticky-info">Sticky</div>
</section>
<section id="section-2">
</section>

我的 JS:

  $(window).scroll(function () {
      if ($('#section-2').is(':in-viewport')) {
            $( ".sticky-info" ).fadeOut( 100, function() { });
      } else {
            $( ".sticky-info" ).fadeIn( 100, function() { });
      }
  });

这是 fiddle :https://jsfiddle.net/cnx4pvxu/

在我的 fiddle 中,它完美无缺。 但是,如果我在自己的虚拟页面中尝试,它会淡出,但不会再次淡入(就像在 fiddle 中一样)。但它和 fiddle 一样完整......

这是虚拟页面:http://tanzstudio-ludwig.de/test.html

我做错了什么?或者有更好的解决方案吗?

最佳答案

您必须定义bodyheightwidth

$().is( ':in-viewport' ) 似乎基于 heightwidth 工作正文.

简单地说,添加 body { height: 100%;宽度:100%; 到你的 CSS。

或者不用document.elementFromPoint()而不是 jQuery 函数。

关于javascript - 显示/隐藏 div 取决于 viewpwort 中的特定类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49995759/

相关文章:

javascript - 使用 pdfmake 库时文本离开页面

html - iPhone/iPad 视口(viewport)问题

javascript - VueJS 一次在子组件上显示一个元素

javascript - JS 数据过滤器和组不正确

javascript - 获取评论之间的内容

javascript - 进度条提交动画后提交表单

javascript - 如果存在验证错误,则保持单选按钮处于选中状态

javascript - 计算 slider 的视口(viewport)高度

android - 移动设备上的视口(viewport)如何缩放

javascript - 将文本添加到 Angular SVG 圆形进度条