Jquery:my.load()有什么问题吗?

Jquery:my.load()有什么问题吗?,jquery,image,select,load,drop-down-menu,Jquery,Image,Select,Load,Drop Down Menu,我对此代码有问题… 启动此函数时会显示预加载程序,但它从不隐藏页面中的图像在加载完成之前也会显示 我的加载函数有问题吗 $('select.select').change(function() { var x = $(this).val(); //Hide the current page and show the preloader $('#page' + x).hide(); $('#pageLoader *').show(); //when c

我对此代码有问题…
启动此函数时会显示预加载程序,但它从不隐藏
页面中的图像在加载完成之前也会显示

我的加载函数有问题吗

$('select.select').change(function() {

    var x = $(this).val();

    //Hide the current page and show the preloader
    $('#page' + x).hide();
    $('#pageLoader *').show();

    //when current page is loaded, hide preloader and show page
    $('#page' + x + ' img').load(function() {
      $('#page' + x).show();
      $('#pageLoader *').hide();
    });

});
如果在设置事件处理程序后创建
元素,则需要使用live()绑定处理程序,后者将绑定到与页面上的选择器匹配的现有和未来元素:

$('#page' + x + ' img').live("load", function() {
  $('#page' + x).show();
  $('#pageLoader *').hide();
});

您需要提供一个url作为
load()
函数的第一个参数


请参阅。

如果您需要循环使用
属性并检查它是否来自缓存,如下所示:

$('#page' + x + ' img').one('load', function() {
  $('#page' + x).show();
  $('#pageLoader *').hide();
}).each(function() { 
  if(this.complete) $(this).load();
});

有两种加载方法,他需要图像的
load
event handler:)@cat-另一个问题是,如果图像被隐藏,浏览器可能无法加载它…你在哪个浏览器中?我正在使用ipad上的safari浏览器。我使用了一个.load函数,就像我在$(window).load函数的问题中发布的那样,它工作得很好,但这只适用于第一次加载页面时的第一个图像。现在,我正试图让它适用于我页面上的其他图像,但由于某些原因,该功能不起作用。我还在电脑上的firefox上检查它,但在ipad safari浏览器上更是如此。我的下拉列表只是一个简单的下拉列表。其中,每个选项的值增加1,直到某个数字。它不应该有问题,因为我将它用于另一部分工作完美的代码。