这些预加载的图像是否正确使用?
这个问题太具体了,所以我无法在互联网上找到答案!
我有一些代码正在加载一些我想在悬停时显示的图像。一切正常,但有时在使用悬停功能的 div 中单击复选框时会出现延迟。
jQuery(document).ready(function(){
$icons = [];
$('#boat_icon').hide();
jQuery('.boat_row').each(function(e){
$icons.push('url("' + $(this).attr("id") + '")');
});
jQuery($icons).each(function(e){
jQuery('#boat_icon').css('background-image', this);
console.log(this + "loaded!");
});
$('#boat_icon').show();
});
jQuery('.boat_row').hover(function(e){
e.preventDefault();
$(this).css('background-color', 'D8EAFF')
var iconpath = $(this).attr("id");
$('#boat_icon').css('background-image', 'url("'+iconpath+'")');
},
function(){
$(this).css('background-color', '')
});
图标路径是数据库中的字符串,所以我想知道......这是使用预加载图像的正确方法吗?因为图像是在准备就绪时加载的,所以它们是从缓存中使用的,还是每次悬停时都会再次加载,因为我没有显示存储的图像对象?
This is quite specific, so I couldn't just find an answer on the internet!
I have some code that is loading in some images that I want to be displayed on hover. Everything works fine but sometimes there is a delay when clicking a checkbox in divs where the hover function is being used.
jQuery(document).ready(function(){
$icons = [];
$('#boat_icon').hide();
jQuery('.boat_row').each(function(e){
$icons.push('url("' + $(this).attr("id") + '")');
});
jQuery($icons).each(function(e){
jQuery('#boat_icon').css('background-image', this);
console.log(this + "loaded!");
});
$('#boat_icon').show();
});
jQuery('.boat_row').hover(function(e){
e.preventDefault();
$(this).css('background-color', 'D8EAFF')
var iconpath = $(this).attr("id");
$('#boat_icon').css('background-image', 'url("'+iconpath+'")');
},
function(){
$(this).css('background-color', '')
});
The iconpath is a string in the database, so I was wondering... is this the correct way to use preloaded images? Because the images are loaded on ready, are they then being used from the cache or are they being loaded again every time on hover because im not displaying a stored image object?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该使用此预加载:
if (document.images)
用于验证浏览器是否支持图像预加载You should use this preloading:
if (document.images)
is used to verify doesn't browser support preloading for images