javascript - jQuery 淡入淡出停止错误 : jQuery (".box"). stop().fadeIn();

标签 javascript jquery fade

这段代码不起作用,我做错了什么?

天哪。

 var x;
    x=jQuery(document);
    x.ready(inicializarEventos);

    function inicializarEventos()
    {
      var x;
      x=jQuery(".Caja2");
      x.hover(entraMouse,saleMouse);
    }


    function entraMouse()
    {
      jQuery(".Caja2").stop().fadeOut();
    }

    function saleMouse()
    {
      jQuery(".Caja2").stop().fadeIn();
    }

最佳答案

(对我来说)您似乎希望有一个框,当鼠标位于其上方时,该框会淡出,而当鼠标移开时,该框会重新出现。这实际上比最初看起来要棘手。

当您调用 $().fadeOut() 时,会发生 jQuery 为淡入淡出设置动画,然后在该元素上设置 display: none 。因为该元素随后从显示列表中删除,所以将触发 mouseOut 事件,这当然会开始 fadeIn() 效果。只要鼠标悬停在该区域,就会导致 mouseInmouseOut 事件无限循环。

您可能想尝试使用 $().fadeTo() 方法。在以下示例中,我将鼠标进入时将 opacity 属性设置为 0.0,并在鼠标离开时将其设置回 1.0。由于该元素从未真正隐藏(只是不可见),因此 mouseOut 事件能够正确触发。

jQuery(document).ready(inicializarEventos);

function inicializarEventos() {
    $(".Caja2").hover(entraMouse, saleMouse);        
}

function entraMouse() {
    jQuery(this).fadeTo("slow", 0.0)
}

function saleMouse() {
    jQuery(this).fadeTo("slow", 1.0)
}

将来,我建议解释为什么您认为“代码不起作用”。您需要定义您期望代码如何运行以及当前结果是什么。这将帮助我和其他人更好地知道如何回答您的问题。

关于javascript - jQuery 淡入淡出停止错误 : jQuery (".box"). stop().fadeIn();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1140486/

相关文章:

javascript - 如何在 Angular JS 中将特定的 JSON 数据从一个工厂传递到另一个工厂?

javascript - 使用 jQuery 按类访问元素

javascript - 为什么我不能在这里使用多个ID?

javascript - Twitter Bootstrap : adding a class to the open accordion title

css - 链接悬停的淡入淡出效果?

javascript - 当有一组 div 时使用 fadeToggle + 淡出所有其他内容

javascript - 存储图像最有效的方式是什么? HTML/CSS/JS

javascript - 为什么tippyjs光标指针和单击无法按预期工作

javascript - 停止滚动时如何停止菜单

jquery - 代码在 codecademy 中看起来很棒,但在任何其他浏览器中都不是