所以我有3个图片需要链接到其他页面,并且它在悬停时淡入淡出。 但我注意到,一旦图像在CSS中的块中排列,jquery效果将被禁用。 和解决方案?
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 :(得分:0)
将display
更改为block
不应该有所作为。
我在这里粘贴你的代码,似乎有效:
http://jsfiddle.net/jtbowden/cG8c9/
您的问题可能在其他地方。你能在jsfiddle上重现吗?
另外,我不知道你是否在推广你的例子,但我会避免在选择器div
上做任何jQuery。为主包装器提供一个ID并使用它。另外,在你的淡入淡出效果之前添加.stop()
,否则如果你快速地鼠标移出你会得到骑行行为:
$(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);
});
});
答案 1 :(得分:0)
您可能希望更改悬停中的淡入淡出顺序,并定位图像而不是锚元素。进行此更改:
$('a').hover(
function() {
$('img',this).fadeTo('slow', 0.5);
},
function() {
$('img',this).fadeTo('slow', 1);
});
<强> jsFiddle example 强>