javascript - jQuery.appear 根本不起作用

标签 javascript jquery html

谁能明白为什么这个 html 代码不起作用。

当图像变得可见时,它应该显示警报,当图像对用户不可见时,它应该再次显示警报。

它也不适用于本地库。

<!DOCTYPE html>
<html>
  <head>
  </head>
  <body>

    <script type="text/javascript" src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
    <script type="text/javascript" src="https://raw.githubusercontent.com/morr/jquery.appear/master/jquery.appear.js"></script>

<script>
      var intervals = [];
      $("[id^=light]").on('appear', function(event, $all_appeared_elements) {
          alert("appeared");
      });

      $("[id^=light]").on('disappear', function(event, $all_disappeared_elements) {
          alert("disappeared");
      });

          </script>

      <br><br><br><br><br><br><br><br><br><br><br><br><br>
      <br><br><br><br><br><br><br><br><br><br><br><br><br>
      <br><br><br><br><br><br><br><br><br><br><br><br><br>
      <br><br><br><br><br><br><br><br><br><br><br><br><br>
      <br><br><br><br><br><br><br><br><br><br><br><br><br>
      <br><br><br><br><br><br><br><br><br><br><br><br><br>
      <br><br><br><br><br><br><br><br><br><br><br><br><br>
      <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/Incandescent_light_bulb.svg/200px-Incandescent_light_bulb.svg.png" align="center" id="LichtStatus" style="height:10vh">

  </body>
</html>

最佳答案

尝试这样。

<!DOCTYPE html>
<html>
  <head>
  </head>
  <body>

    <script type="text/javascript" src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery.appear/0.3.3/jquery.appear.js"></script>

      <script>
      $(function(){
      $("#LichtStatus").on('appear',function() {
       alert("appeared");
      });
      $("#LichtStatus").on('disappear', function() {
         alert("disappeared");
      });
      $("#LichtStatus").appear();
      });

      </script>

      <br><br><br><br><br><br><br><br><br><br><br><br><br>
      <br><br><br><br><br><br><br><br><br><br><br><br><br>
      <br><br><br><br><br><br><br><br><br><br><br><br><br>
      <br><br><br><br><br><br><br><br><br><br><br><br><br>
      <br><br><br><br><br><br><br><br><br><br><br><br><br>
      <br><br><br><br><br><br><br><br><br><br><br><br><br>
      <br><br><br><br><br><br><br><br><br><br><br><br><br>
      <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/Incandescent_light_bulb.svg/200px-Incandescent_light_bulb.svg.png" align="center" id="LichtStatus" style="height:10vh">

  </body>
</html>

检查 plunker 的工作示例

https://plnkr.co/edit/YbBNxsWNFc4vP3OEBeCm

一旦您向下滚动且图像进入视口(viewport)内,警报就会触发;向上滚动时,当图像离开视口(viewport)时警报就会触发

关于javascript - jQuery.appear 根本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40633948/

相关文章:

javascript - 在 Protovis 中绘制负数的正确方法是什么?

javascript - meteor react 错误: Cannot read property '0' of undefined

javascript - 使用 text() 显示 javascript 代码

javascript - 禁用 Javascript 时可以播放幻灯片吗?

javascript - 合并更改和加载事件

jquery - 使用 jquery 验证插件验证多选

javascript - 使用 Express 运行服务器端 Javascript 版本

html - div/text 中的表格忽略右填充的 CSS 问题

javascript - 世界地图平面 Mercator.svg 与国家名称

javascript - 通过javascript在html表格中动态添加一列