我已经将这个jquery用于几个应用程序,这些应用程序基本上可以通过淡入淡出过渡进行img交换。超级简单
$(document).ready(function() {
$("img.a").hover(
function() {
$(this).stop().animate({
"opacity": "0"
}, "fast");
}, function() {
$(this).stop().animate({
"opacity": "1"
}, "fast");
});
});
使用HTML标记
<div id="leftBox" class="fadehover inline">
<img src="images/leftTop.jpg" alt="" class="a" />
<img src="images/leftBot.jpg" alt="" class="b" />
</div>
CSS
/*fadeHover*/
div.fadehover {
position: relative;
}
img.a {
position: absolute;
left: 0;
top: 0;
z-index: 10;
}
img.b {
position: absolute;
left: 0;
top: 0;
}
我想知道这是否可以应用于背景图像?
我正在尝试使用样式标签,但没有任何运气。
由于
答案 0 :(得分:1)
我不一定按照你的方式去做,但可以通过同时动画另一个图像来实现。基于你的html,这应该这样做:
$("img.a").hover(
function() {
$(this).stop().animate({"opacity": "0"}, "fast");
$("img.b").animate({"opacity": "1"}, "fast");
},
function() {
$(this).stop().animate({"opacity": "1"}, "fast");
$("img.b").animate({"opacity": "0"}, "fast");
}
);
答案 1 :(得分:0)
是的,这是可能的。您的JS代码也适用于该场景。只需稍微修改img.a css类。
img.a {
display: block;
background: url('your-image') no-repeat bottom left;
padding: 0 0px 32px 200px;
}
请注意,填充属性在此处起着至关重要的作用,在正确设置之前,您应该知道背景图像的高度和宽度,否则图像将无法完全显示。
答案 2 :(得分:0)
我最终做了这个
$(document).ready(function(){
$('#home').mouseenter(function(){
$('.home_hover').fadeIn();
});
$('#home').mouseleave(function(){
$('.home_hover').fadeOut();
});
});
<div id="home">
<div class="home_normal">Home</div>
<div class="home_hover">Home</div>
</div>
使用CSS
#home{
position:relative;
float: left;
height: 25px;
width: 88px;
padding-top: 12px;
}
.home_normal{
position:absolute;
height: 25px;
width: 88px;
left: 0px;
top: 0px;
padding-top: 12px;
}
.home_hover{
background-image:url(../images/menuBG-1.0.jpg);
height: 25px;
width: 88px;
position:absolute;
display: none;
left: 0px;
top: 0px;
padding-top: 12px;
}