Javascript 如何阻止图像在悬停时发生变化时闪烁

Javascript 如何阻止图像在悬停时发生变化时闪烁,javascript,jquery,css,html,Javascript,Jquery,Css,Html,有没有办法阻止我的图片在重新加载新图片时闪烁 下面是我用来在MouseOver上交换图像的代码,但与加载新图像之前一样,它会快速闪烁并显示divs背景颜色: JS: HTML: 这样试试 var arrayOfImages = [ 'img/imageName.jpg', 'img/anotherOne.jpg', 'img/blahblahblah.jpg' ] 实际上,将图像加载到DOM中并在默认情况下隐藏它 function preload(arrayOfImag

有没有办法阻止我的图片在重新加载新图片时闪烁

下面是我用来在MouseOver上交换图像的代码,但与加载新图像之前一样,它会快速闪烁并显示divs背景颜色:

JS:

HTML:

这样试试

var arrayOfImages = [
    'img/imageName.jpg',
    'img/anotherOne.jpg',
    'img/blahblahblah.jpg'
]
实际上,将图像加载到DOM中并在默认情况下隐藏它

function preload(arrayOfImages) {
    $(arrayOfImages).each(function () {
        $('<img />').attr('src',this).appendTo('body').css('display','none');
    });
}
试试这把小提琴

1.-在原始背景上堆叠不可见的div

<div id="button1_related"></div>
<div id="button2_related"></div>
3.-…你控制css中的img

#button1_related{
position:absolute;display:none;
top:0;left:0;width:100%;height:100%;
background-image: url('http://placehold.it/300x250');
}
#button2_related{
position:absolute;display:none;
top:0;left:0;width:100%;height:100%;
background-image: url('http://placehold.it/340x150');
}
使用css

#button1 {
   background-image:url('<!-- Your url here-->');
}
#button1:hover {
   background-image:url('<!-- Your url here-->');
}
对滚动图像使用精灵。这将消除所有闪烁并保存http请求,从而使您的网站更快:


对啊,太棒了,我以为是这样,但我不知道该怎么办。我去查一下。需要jQuery。使用此代码时图像仍在闪烁。。即使使用jQueryI,也可以看到它在小提琴中闪烁。如果你在家里来回移动鼠标,你会看到它在重新加载图像时快速闪烁为白色。好的,有时它不会闪烁占位符图像,但当我使用本地图像时,它会闪烁。这不会改变另一个div的背景,只会改变按钮1。
function nowshow(id) {
  document.getElementById(id+'_related').style.display = 'block'; 
}
function nowhide(id) {
  document.getElementById(id+'_related').style.display = 'none'; 
}
#button1_related{
position:absolute;display:none;
top:0;left:0;width:100%;height:100%;
background-image: url('http://placehold.it/300x250');
}
#button2_related{
position:absolute;display:none;
top:0;left:0;width:100%;height:100%;
background-image: url('http://placehold.it/340x150');
}
#button1 {
   background-image:url('<!-- Your url here-->');
}
#button1:hover {
   background-image:url('<!-- Your url here-->');
}