这些预加载的图像是否正确使用?

发布于 2024-12-11 12:25:56 字数 875 浏览 0 评论 0原文

这个问题太具体了,所以我无法在互联网上找到答案!

我有一些代码正在加载一些我想在悬停时显示的图像。一切正常,但有时在使用悬停功能的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

枫林﹌晚霞¤ 2024-12-18 12:25:56

您应该使用此预加载:

if (document.images)
{
  pic1= new Image(100,25); 
  pic1.src="http://someplace.com/image1.gif"; 
}

if (document.images) 用于验证浏览器是否支持图像预加载

You should use this preloading:

if (document.images)
{
  pic1= new Image(100,25); 
  pic1.src="http://someplace.com/image1.gif"; 
}

if (document.images) is used to verify doesn't browser support preloading for images

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文