jQuery交叉淡化图像并用display:none隐藏它们

时间:2015-03-21 03:34:22

标签: jquery css opacity fade

我需要将具有背景图像的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();
}

1 个答案:

答案 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/

只需点击图片即可淡入另一张图片。