2012-04-16 54 views
0

所以我有3张图片需要链接到其他页面,并且它在淡入淡出时悬停。 但我注意到,jQuery的影响将被禁用,一旦图像安排在CSS中的块。 和解决方案?如果href设置为块,鼠标悬停不起作用

的CSS:

div { 
display: none; 
width: 600px; 
margin: auto; 
} 

.row_1 img{ 
    width: 300px; 
    height: 300px; 
} 

.row_2 img{ 
    width: 150px; 
    height: 150px; 
} 

.row_1, 
.row_2{ 
    display: inline-block; 
} 

.row_2 img{ 
    display: block; 
} 
.row_1 img{ 
    display: block; 
} 

的HTML代码:

<div> 



<h2>Blog</h2> 




<div class ="row"> 

<span class ="row_1"> 
<a href="#"><img src="image/under.png" /></a> 
</span> 

<span class ="row_2"> 
<a href='#'><img src="image/under.png" /></a> 
<a href="#"><img src="image/under.png" /></a> 
</span> 

</div> 


</div> 

jQuery的:

$(document).ready(function(){ 
    $('a').fadeTo(1,0.5); 


    $('a').hover(
     function() { 
     $(this).fadeTo('slow',1); 
     }, 
     function() { 
     $(this).fadeTo('slow',0.5); 
     } 
    );  

}); 

$(document).ready(function(){ 
$('div').fadeIn('slow'); 
}); 
+0

设置为$('img')。悬停不会帮助吗? – Kamil 2012-04-16 17:33:51

回答

0

你可能想都改变你悬停褪色的顺序和目标图像,而不是锚元素。进行此更改:

$('a').hover(
    function() { 
     $('img',this).fadeTo('slow', 0.5); 
    }, 
    function() { 
     $('img',this).fadeTo('slow', 1); 
}); 

jsFiddle example

+0

你已经有了两次褪色。该链接在文档加载时褪色到50%,并且在悬停时将图像淡化50%,因此在鼠标悬停时最终得到25%的图像。这是你的意图吗? – 2012-04-16 17:41:34

+0

这项工作,但另一个问题是,我希望我的图片在文档准备就绪后褪色了50%。 $(“。img_link”)。fadeTo(1,0.5); 如果我的所有图片都有class =“img_link” 它不起作用...你能帮我吗? – 2012-04-16 17:51:41

+0

Nvm,我解决了它。非常感谢! – 2012-04-16 17:53:40

0

改变displayblock不应该有所作为。

我在这里粘贴您的代码,它似乎工作:

http://jsfiddle.net/jtbowden/cG8c9/

你的问题可能出在其它地方。你能在jsfiddle重现吗?另外,我不知道你是否正在推广你的例子,但我会避免在选择器div上做任何jQuery。给你的主包装一个ID并使用它。此外,在你淡出效果添加.stop(),否则你将得到循环行为,如果你mousein /出得太快:

$(document).ready(function() { 
    $('a').fadeTo(1, 0.5); 
    $('#wrapper').fadeIn('slow'); 

    $('a').hover(function() { 
     $(this).stop().fadeTo('slow', 1); 
    }, function() { 
     $(this).stop().fadeTo('slow', 0.5); 
    }); 
}); 

演示:http://jsfiddle.net/jtbowden/cG8c9/1/

编辑:我在IE浏览器测试,看到褪色根本不适用于链接。你需要做的衰落上的图像在这种情况下:

$(document).ready(function() { 
    $('img').fadeTo(1, 0.5); 
    $('#wrapper').fadeIn('slow'); 

    $('a').hover(function() { 
     $('img', this).stop().fadeTo('slow', 1); 
    }, function() { 
     $('img', this).stop().fadeTo('slow', 0.5); 
    }); 

}); 

演示:http://jsfiddle.net/cG8c9/2/

+0

真的吗? 我在你的链接上看不到任何淡入淡出效果 – 2012-04-16 17:32:52

+0

你使用的是哪个版本的jQuery?等待。在我的例子?当我将鼠标悬停在图像上时,它会淡入,当我鼠标移出时,它会消失到50%。这不是你所期望的吗? – 2012-04-16 17:34:32

+0

另外,您使用的浏览器是? – 2012-04-16 17:43:07