【问题标题】:jquery hover propagationjQuery悬停传播
【发布时间】:2012-06-20 04:37:57
【问题描述】:

我在悬停图像上使用它:

$('.img-style').hover (function(e) {
    var prixPlus = $(this).closest('a').attr('data-prix'); 
    prixPlus = parseFloat(prixPlus);
    var prixNew = prix + prixPlus;

    $('#chgePrix').html(prixNew.toFixed(2));
    $('#txtapart').fadeTo('fast', 0.1);
}, function(e) {
    $('#chgePrix').html(prix.toFixed(2));
    $('#txtapart').fadeTo('fast', 1);
});

但是如果我在图像上快速通过鼠标 2 次或更多次,$('#txtapart') 淡入淡出 2 次或更多次!如何停止渐变传播?

感谢您的帮助...

【问题讨论】:

  • 所以它做你想做的事,但是太快了?
  • 这个 sn-p 工作正常,但是如果我将鼠标快速移过图像 10 次...如果我不再在图像上,我需要 FADE 停止(对不起我的英语!)

标签: jquery hover fadeto


【解决方案1】:

使用stop()方法

 $('#txtapart').stop(true,true).fadeTo('fast', 0.1);

这会强制结束之前的动画。两个true 参数清空队列并在其终点设置动画,以便在触发其他事件时立即启动新动画。

http://api.jquery.com/stop/

【讨论】:

    【解决方案2】:

    每次鼠标悬停时都会调用该函数。没有很好的方法来检测函数是否已经在 J​​avascript 中运行。

    【讨论】:

    • 在 jquery 动画中不正确,有几种方法可以检测动画是否正在进行,包括 is(':animated')
    猜你喜欢
    • 2022-05-28
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多