在移动器悬停时停止 gif 不起作用

Stop gif on mover hover does not work

我想先显示一个 GIF,当鼠标悬停在 GIF 上时,它应该显示不同的 JPG 图片——这样它看起来就像停止了一样。

我试过这段代码,但没有用。 我想知道哪个部分需要修复。

<html>
<script>
$(document).ready(function()
{
    $("#imgDino").hover(
        function()
        {
            $(this).attr("src",
            "http://s2.favim.com/610/150619/airplane-fly-landscape-plane-Favim.com-2831842.jpg");
        },
        function()
        {
            $(this).attr("src", "https://66.media.tumblr.com/233306b207ff895cc591ee86684fd792/tumblr_mze5yi7uwQ1sqqsygo1_400.gif");
        }                         
    );                  
});
</script>
 <body>
    <img id="imgDino" src="https://66.media.tumblr.com/233306b207ff895cc591ee86684fd792/tumblr_mze5yi7uwQ1sqqsygo1_400.gif" />

</body>
</html>

您的脚本使用的语法来自 JQuery,请在您的 <head></head> 标签之间添加以下内容:

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>

执行此操作后代码将按预期工作(尽管脚本使用的图像效果看起来有点奇怪)。

此外,由于此问题与 JQuery 相关,您应该将该标签添加到您的问题中。

您的代码存在两个问题:

  1. 您没有加载 jQuery - 所以您不能使用它。并且控制台(F12)为此抛出错误:Uncaught ReferenceError: $ is not defined

  2. 您正在 dom-元素可用之前注册 javascript-事件

因此,适用于您的情况的可行解决方案是:

<html>

  <head>

  </head>

  <body>
    <img id="imgDino" src="https://66.media.tumblr.com/233306b207ff895cc591ee86684fd792/tumblr_mze5yi7uwQ1sqqsygo1_400.gif" />

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
    <script>
      $(document).ready(function() {
        $("#imgDino").hover(
          function() {
            $(this).attr("src",
              "http://s2.favim.com/610/150619/airplane-fly-landscape-plane-Favim.com-2831842.jpg");
          },
          function() {
            $(this).attr("src", "https://66.media.tumblr.com/233306b207ff895cc591ee86684fd792/tumblr_mze5yi7uwQ1sqqsygo1_400.gif");
          }
        );
      });

    </script>
  </body>

</html>