2

我一直是 stackoverflow 潜伏者很长一段时间,几乎总是在板上找到我的问题的答案(谢谢你)但是这个让我难过......

我正在建立一个投资组合网站..它使用jQuery来定位从MySQL数据库中提取的元素(图像)..非常简单......但由于某种原因,图像并不总是加载或将加载几个然后永久挂断,不做任何事情...

该页面在这里... http://www.spacecar.org/2013/

完成所有工作的 JS 文件在这里 http://www.spacecar.org/scripts/jquery.menu.js

有什么我没有看到的真正基本的东西吗?任何见解都将不胜感激......我知道我正在打很多电话来制定网站的效果功能,但是......啊!

谢谢

4

1 回答 1

0

$( 'img' ).load( function(){ ... });– 不是你可以信任的东西(在你的插件中我看到了这段代码)。在这里您可以看到原因: http ://api.jquery.com/load-event/ (从caveats单词开始阅读)

这是描述问题的小例子:

$( document ).ready( function(){
    $( 'img' ).load( function(){
       // this event going to fire only if document was ready after image was loaded; (very seldom, almost never)
       console.log( 'Fired?! You are lucky today!' );
    });

    $( document.body ).append( '<img src="http://stat19.privet.ru/lr/0b164d8151948d2fdedfbfdc420f5392?temp=2" id="some"/>' );
    $( '#some' ).load( function(){
        // this event will fire often, except of cases descripted in `load` event manual
        console.log( 'Huugh. Today have fired. But I don\'t know about tomorrow' );  
    });

  var temp = new Image;
  temp.src = 'http://photo.a42.ru/photos/92772/medium/11757.jpg';
  temp.onload = function(){
      // this event going to fire almost always except of cache issue with IE, that can be handled by skipping cache with `?nothing=random` appending to image URL
    console.log( 'Okay, okay! I\'ve fired' );
  }
  $( document.body ).append( temp );
});

你可以在这里运行它:http: //jsfiddle.net/p6Cpy/

于 2013-04-29T23:36:55.730 回答