jQuery中的交叉淡入淡出图像

时间:2014-07-21 14:55:37

标签: javascript jquery

我在网页上有一个图像,并在移动jQuery滑块时更改它:

HTML:

<img src="images/flask_image1.png" alt="Isa lab" id="flask" />

滑块HTML:

<div id="slider1">

脚本:

<script>
  $(function() {
    $( "#slider1" ).slider({
    min: 0,
    max: 4,
    step: 1,
    change: function(event, ui){
        if(ui.value == 1){
            $('#flask').fadeOut(100);
            $('#flask').attr('src','images/flask_image2.png');
            $('#flask').fadeIn(100);
        }else{
            $('#flask').attr('src','images/flask_image1.png');
        };
    }
    });
  });
</script>

然而,这样做的是图像淡出,变化,然后淡化,其中&#34;工作&#34;但它暂时消失了。

有没有办法让两张图片交叉淡化?

1 个答案:

答案 0 :(得分:1)

在这里,我想,安静简单,与实现一些插件相比,更少的代码和难度:http://jsfiddle.net/gcvqr/2/

<强> HTML

<img src="http://macnetized.com/wp-content/uploads/2014/02/Apple_Logo_csh_by_wiimon.png" id="slider">
<button>Change Image</button>

<强>的jQuery

var stopWorking=false;
var firstSrc="http://macnetized.com/wp-content/uploads/2014/02/Apple_Logo_csh_by_wiimon.png";
var secondSrc="http://technicallyeasy.net/wp-content/uploads/2011/04/apple-logo.jpg";
$('button').click(function(){
    if(!stopWorking){
        stopWorking=true;
    $('body').append('<img src="'+$('#slider').attr('src')+'" id="fadingImg">');
    $('#fadingImg').css({
        'position':'absolute',
        'width':'400px',
        'height':'400px',
        'top':'0px',
        'left':'0px'
    });
        if($('#slider').attr('src')==firstSrc){
            $('#slider').attr('src',secondSrc);
        } 
        else{
            $('#slider').attr('src',firstSrc);
        }
    $('#fadingImg').fadeOut(1000,function(){
        $('#fadingImg').remove();
        stopWorking=false;
    });
    }
});

注意:

为了使其在您的网页中有效,您需要将#fadingImg滑块img的样式赋予其位置。