2013-10-18 208 views
-4

我在想,如果你能控制.attr功能的速度:是否可以控制.attr的速度?

$("#div1").hover(function() { 
    $("#div1 img").attr('src','images/image01.png'); 
+9

是什么意思,甚至? – sevenseacat

+0

速度?动画?过渡?什么? –

+0

可能想淡化新图像或其他东西。 – Jack

回答

0

如果你想让图像淡入,你需要使用jQuery的.fadeIn效果。

你先隐藏图像

<div id='div1'> 
    <img style='display:none;' src=''/> 

然后你在它上面运行的淡入效果:

$("#div1").hover(function() { 
    $("#div1 img").attr('src','images/image01.png'); 
    $("#div1 img").fadeIn(200); // 200 is transition time in millisecond 
1

您可以使用setTimeout

$("#div1").hover(function() { 
    setTimeout(function() { 
     $(this).find('img').attr('src', 'images/image01.png').fadeIn(); 
    }, 1000); //1second 
}); 

这将在一秒钟后改变图像的src

+1

请注意,代码中的'this'会出现问题。 – matewka

+0

谢谢。但我希望图像淡入。是否可以使用.attr? –

+1

然后你可以在attr @KcLee之后使用.fadeIn() – Anton