【问题标题】:jQuery MouseEnter/Leave with fadeIn() flickeryjQuery MouseEnter/Leave with fadeIn() 闪烁
【发布时间】:2023-03-16 14:49:02
【问题描述】:

我正在使用 jquery 对网站的一部分进行编程,当您将鼠标悬停在一个按钮上时,它会隐藏一个特定的 div 并显示另一个,然后当鼠标离开它时,它会隐藏那个并显示原始的,而且效果很好,但是当您快速浏览按钮时,它会闪烁并开始显示所有 div(不隐藏一些)

我的代码:

function changeAddPanelText(element, element2) {
    $(element).hover(function(){
        $("#add-content-desc1").toggle();
        $(element2).fadeIn(700);
    },

    function(){
        $(element2).toggle();
        $("#add-content-desc1").fadeIn(700);
    });
}

有什么想法吗?谢谢

编辑:我将代码更新到当前版本。

【问题讨论】:

  • 尝试使用 stop() 或 stop(1,1),更多信息请参见 jQuery API。
  • 另一种行之有效的方法是将一个 div 隐藏在原来的下面。然后当您将鼠标悬停时,只需隐藏原始页面。这样就不会显示任何空白页面,只有两个图像。
  • 我也遇到过类似的情况,stop() 可以帮助解决这个问题。看看这个stackoverflow.com/q/6224681/707636
  • 发生这种情况是因为每次悬停时,动画都会触发,尝试使用 stop(1,1) 或将 1 更改为 0。我遇到了同样的问题,我不得不玩修复它的停止功能
  • 在fadeIn() 之前使用了stop(1,1)

标签: javascript jquery html css flicker


【解决方案1】:

试试这个

function changeAddPanelText(element, element2) {
    $(element).hover(function(){
        $("#add-content-desc1, element2").stop().toggle();
    }, function(){
        $("#add-content-desc1, element2").stop().toggle();
    });
}

【讨论】:

    猜你喜欢
    • 2011-10-01
    • 2013-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    • 2018-10-07
    相关资源
    最近更新 更多