jQuery:。加载图像,然后单击两次fadeIn()失败!
我有了这个。使用.fadeIn()回调为图像加载设置,效果很好。问题是,如果我在同一个图像上连续启动.load两次,它将无法到达回调 下面是一段代码: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
$('#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进行散列导航,但希望在构建其他代码时去掉它们。