2015-04-25 35 views
0

我有这个代码的问题。它根本不起作用。该过程在fadinOut图像上结束。我是JS的初学者。jQuery图像src fadeOut淡入效果

代码:

$(".intro_lg").click(function() { 
$(".intro_lg").fadeOut(1000, function() { 
    var path = "http://website.com/img/intro2.png"; 
    $(".intro_lg").attr("src", path); 
}).fadeIn(1000); 
return false; 
}); 
+0

问题是什么? – Tushar

+0

它假设在点击它后淡出图像,然后将它的URL更改为'var path'中给出的URL,然后使用新的src URL淡入图像。 它停在fadeOut上,我甚至不知道它是否更改URL。 – Bombel

+0

你在另一个html元素上有“.intro_lg”类吗? –

回答

1

你可以尝试运行你的代码,当页面准备使用.ready()

$(document).ready(function() { 
    $(".intro_lg").click(function() { 
    $(this).fadeOut(1000, function() { 
     var path = "http://website.com/img/intro2.png"; 
     $(this).attr("src", path); 
    }).fadeIn(1000); 
    return false; 
    }); 
}); 

而不是重复你的选择,使用this代替。

Here is an Example

0

不要使用

$(".intro_lg").fadeOut 

使用

$(this).fadeOut 

因为 “.intro_lg” 是类可以在另一个HTML元素。 更好的方式是,这不是取代图像“src”,而是隐藏和显示图像(存在于dom中),因为通过浏览器加载图像需要时间。 例如HTML:

<img src="path1" class="intro_lg" alt=""/> 
<img src="path2" class="intro_lg" alt="" style="display: none;"/> 

脚本:

$(".intro_lg").click(function() { 
$(this).fadeOut(1000, function() { 
    $(".intro_lg").next().fadeIn(1000); 
}); 
return false; 
});