javascript - 为什么悬停时图像偶尔会损坏

标签 javascript jquery html image hover

$(function () {
    $(".btn").on("mouseover",function(){
        $(this).attr("src", $(this).attr("src").replace("images", "images/hover"));
    });

    $(".btn").on("mouseleave",function(){
        $(this).attr("src", $(this).attr("src").replace("images/hover", "images"));
    });
});

上面的代码是我在用户将鼠标悬停在按钮上时更改图像的方式,当用户单击它时,它将重定向到其他页面。 Html 元素如下:

<a href="product.php"><img class="btn" src="images/index_03.gif" /></a> 

问题是,我确定路径是正确的,但是当用户单击按钮时,在加载下一页时或在某些情况下,当我将鼠标悬停在图像上时,不会显示悬停图像但是链接断开了,为什么会这样以及如何修复?感谢您的帮助

最佳答案

$(this).attr("src", $(this).attr("src").replace("images/hover", "images"));

此代码将每次(或从缓存中)重新加载图像。

因此,在页面加载期间,由于其他数据也在同时加载,onhover 图像加载会很慢或损坏。

我建议您应该同时在同一位置加载两个图像,并在悬停时显示/隐藏它们以获得更快的结果。

关于javascript - 为什么悬停时图像偶尔会损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19342855/

相关文章:

javascript - React 中的多个过滤器

php - 提交表单 PHP 修改为 JQuery AJAX

javascript - 使用 AngularJS 从输入中获取新值

jquery - 使用jqSlider和knockout js实现滑动事件

jquery - 防止 jQuery 在元素鼠标悬停时将文档顶部推到顶部?

javascript - 这段 JavaScript 代码有什么问题?一直循环不停

javascript - 非常简单的 ngModel 示例

html - 如何在悬停时同时突出显示文本和背景颜色?

javascript - onclick 仅适用于 img 标签

javascript - 显示 'Closest' div