Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery:。加载图像,然后单击两次fadeIn()失败!_Jquery_Image_Load_Fadein_Preload - Fatal编程技术网

jQuery:。加载图像,然后单击两次fadeIn()失败!

jQuery:。加载图像,然后单击两次fadeIn()失败!,jquery,image,load,fadein,preload,Jquery,Image,Load,Fadein,Preload,我有了这个。使用.fadeIn()回调为图像加载设置,效果很好。问题是,如果我在同一个图像上连续启动.load两次,它将无法到达回调 下面是一段代码: $('#thumbs a').click( function() { imageSrc = $(this).attr('href').substring(1)+'.jpg'; // grab src, remove hash, add jpeg extension $('#viewer img').fadeOut('fast', fu

我有了这个。使用.fadeIn()回调为图像加载设置,效果很好。问题是,如果我在同一个图像上连续启动.load两次,它将无法到达回调

下面是一段代码:

$('#thumbs a').click( function() {
  imageSrc = $(this).attr('href').substring(1)+'.jpg';   // grab src, remove hash, add jpeg extension
  $('#viewer img').fadeOut('fast', function() {     // fade old image out fast, wait until finished before changing src
   $('#viewer img').attr('src', (mediumPath+imageSrc));  // change src to new image
   $('#viewer a').attr('href', imageSrc);
  });
  $('#viewer img').load(function(){        // once image is loaded, fade the img back in
         $('#viewer img').fadeIn('slow');
        });
  return false;
 });
你可以在我的网站上试试(正在进行中)。只需连续单击左侧的缩略图两次,loader.gif不会消失,即无法访问.fadeIn()

注意:我相信这只会影响WebKit浏览器(?)

我已经用Chrome(据我所知,基于WebKit的浏览器)测试了您的网站,但无法复制该问题。虽然它确实比Firefox要长一点(但那可能只是我的电脑)

一些建议/意见

使用您的
。单击()
基于交互,使用以下格式:

.click( function( e ) {
  e.preventDefault();
  // Rest of your Javascript Code here...
} );
将停止锚点/链接的执行,并且可以在jQuery处理开始时调用,而不是等待结束使用
返回false


您可能还希望将当前图像/链接的详细信息存储在javascript变量中,然后在随后单击缩略图时进行检查-目前的情况是,如果显示了
img1.jpg
,并且单击了该图像的拇指,则当前较大的图像淡出,然后再次淡入,没有任何更改。只是一件小事。

谢谢您的关注,我很感激。我想我不应该在我积极工作的时候把这里的人指向这个网站,哈。我现在要做一份本地拷贝,这样就可以看到上面的页面有问题了。至于return false,我知道还有另一种方法,我将它们粘贴在那里,因为我计划使用jQuery BBQ进行散列导航,但希望在构建其他代码时去掉它们。