javascript - 预加载图像,仍然闪烁

标签 javascript image preloading

我目前正在尝试重新加载大约 30-40 张图片。但是,当我将鼠标悬停在图像上时,我仍然会出现这种“闪烁”。图像消失了几毫秒,然后又回来了。

        var images = new Array()
        function preload() {
            for (i = 0; i < preload.arguments.length; i++) {
                images[i] = new Image();
                images[i].src = preload.arguments[i];
            }
        }
        preload(
            "/../../regular.png",
            "/../../hover.png"
        );

这是我目前正在使用的功能,是上面的代码有问题还是其他问题?

最佳答案

即使像这样预加载图像,我不确定您是否可以避免悬停时的闪烁。我想浏览器仍然必须从磁盘加载它们,这就是导致几毫秒延迟的原因。

更好的方法是使用 CSS Sprite 。参见例如 this page ,在 Image Sprites - Hover Effect 下,您会找到一个使用 sprites 实现悬停效果的示例。

关于javascript - 预加载图像,仍然闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20718524/

相关文章:

javascript - 如何解释这个正则表达式/[\W_]/g

javascript - 带输入、按钮和图片的 Javascript 动态表

ios - 如何找到图像的高度和宽度并适合具有宽高比的tableviewcell?

javascript - 绘制图像()不工作

jquery - 在 jQuery 中获取图像的原始宽度和高度

jquery - OwlCarousel 在背景中预加载图像

javascript - 无法使用 jQuery 定位类

javascript - 在 DOM 被 ajax 调用更改后,是否可以重新绑定(bind) jquery 事件?

javascript - 如何将二维 PHP 数组编码为 JSON 数组以便在 JavaScript 中解码?

android - 在 GridView 中旋转图像