我需要将具有背景图像的div淡化到具有固定尺寸的同一容器中的另一个。
FadeIn和Out是我需要和工作得很好的,因为我希望有可能点击每个可见的图像,这是不可能使用不透明度,即使它正是我想要的效果......一种图像之间的交叉淡化。
HTML
<div class="image_container">
<div id="image1"></div>
<div id="image2" style="display:none"></div>
</div>
我简化的js
$( this ).click(function() {
$( "#image1" ).fadeOut();
$( "#image2" ).fadeIn();
}
答案 0 :(得分:1)
通过将图像置于彼此的绝对位置,您可以使用jQuery在它们之间淡入淡出:
<div class="image_container">
<div id="image1"></div>
<div id="image2" style="display:none"></div>
</div>
<script type="text/javascrtip">
$(".image_container").click(function(){
$(this).find("div").fadeOut();
$(this).find("div:hidden").fadeIn();
})
</script>
<style type="text/css">
.image_container div {
position:absolute;
width:338px;
height:225px;
top:0;
left:0;
}
#image1 {
background-image:url(http://imaging.nikon.com/lineup/dslr/df/img/sample/img_01.jpg);
}
#image2 {
background-image:url(http://imaging.nikon.com/lineup/dslr/df/img/sample/img_02.jpg);
}
</style>
这是一个小提琴演示:https://jsfiddle.net/zmur2v8q/1/
只需点击图片即可淡入另一张图片。