Javascript 立即更改背景图像
我正在根据事件更改div的背景图像 有两种图像 图1 和 图2 我必须在条件的基础上使用这两个图像,它工作正常,但在我第一次更改图像时,加载需要时间,如何立即加载它 div将image1作为默认背景图像, 我用下面的代码修改它Javascript 立即更改背景图像,javascript,jquery,Javascript,Jquery,我正在根据事件更改div的背景图像 有两种图像 图1 和 图2 我必须在条件的基础上使用这两个图像,它工作正常,但在我第一次更改图像时,加载需要时间,如何立即加载它 div将image1作为默认背景图像, 我用下面的代码修改它 $("div").addClass('loadalternateImage'); 备用图像是带有背景图像和image2的类 但是加载Image2需要时间 请告知如何立即加载 谢谢您可以在视口外的div中预加载这两个图像。因此,当您单击以更改背景时,两个图像都应已加载 H
$("div").addClass('loadalternateImage');
备用图像是带有背景图像和image2的类
但是加载Image2需要时间
请告知如何立即加载
谢谢您可以在视口外的div中预加载这两个图像。因此,当您单击以更改背景时,两个图像都应已加载 HTML: 您还可以在页面加载后绑定click事件(不在document ready上),以使图像完全加载:
$(window).load(function() {
$(document).on('click', '#your-div', function() {
// change background
});
});
可以在视口外的div中预加载这两个图像。因此,当您单击以更改背景时,两个图像都应已加载 HTML: 您还可以在页面加载后绑定click事件(不在document ready上),以使图像完全加载:
$(window).load(function() {
$(document).on('click', '#your-div', function() {
// change background
});
});
选择1
我建议你去看看
因此,您可以对图像使用base64
编码,并将其直接放入样式表中:
loadalternateImage {
background: url(data:image/gif;base64,....) no-repeat left center;
}
选择2
或者,您可以将其放入某个不可见的节点,这也会触发预加载:
<img src="original.jpg">
<img src="secondary.jpg" style="display:none;">
选择3
使用精灵-看一看。从维护的角度来看,这是最困难的解决方案选项1
我建议你去看看
因此,您可以对图像使用base64
编码,并将其直接放入样式表中:
loadalternateImage {
background: url(data:image/gif;base64,....) no-repeat left center;
}
选择2
或者,您可以将其放入某个不可见的节点,这也会触发预加载:
<img src="original.jpg">
<img src="secondary.jpg" style="display:none;">
选择3
使用精灵-看一看。从维护的角度来看,这是最困难的解决方案好的,保留@kapantzak的答案,但要这样做 切换
$("#imgBackground')[0].src = $("#firstImg")[0].src
and
$("#imgBackground')[0].src = $("#secondImg")[0].src
imgBackground是作为背景的IMG标签的id。
好的,保留@kapantzak的答案,但要这样做 切换
$("#imgBackground')[0].src = $("#firstImg")[0].src
and
$("#imgBackground')[0].src = $("#secondImg")[0].src
imgBackground是作为背景的IMG标签的id。
是的,打字的时候把我揍了一顿。LolI必须将其用作背景图像,您可以将其用作css背景图像。这些图像应该已经加载了。我用一个假div进行了尝试,用imag2将其设置为背景图像,并将其设置为“无显示”,但在暗示“top:-100000px;”时没有效果这似乎是个坏主意。使用
display:none
来代替。是的,我在打字的时候打了进去。LolI必须将其用作背景图像,您可以将其用作css背景图像。这些图像应该已经加载了。我用一个假div进行了尝试,用imag2将其设置为背景图像,并将其设置为“无显示”,但在暗示“top:-100000px;”时没有效果这似乎是个坏主意。使用display:none
代替。通常情况下,将其设置为精灵图像只是更改背景位置通常情况下,将其设置为精灵图像只是更改背景位置