Search code examples
jqueryfadein

Change image and fadeIn on hover


I have the following code :

$('div.test').hover(function() {
    $(this).find('img').attr('src', 'img/personale/test2.png');
}, function() {
    $(this).find('img').attr('src', 'img/personale/test.png');
});

How can i add a fadeIn effect while changing the image on hover?


Solution

  • Try using fadeIn() and fadeOut() :

    $('div.test').hover(function () {
        $(this).find('img').hide().attr('src', 'http://blog.stackoverflow.com/wp-content/uploads/StackExchangeLogo1.png').fadeIn(2000);
    }, function () {
        $(this).find('img').fadeOut(2000,function(){
          $(this).attr('src','http://londontechnologyweek.co.uk/assets/uploads/2014/06/Stack-Overflow-Logo.png').fadeIn();
        });
    });
    .test{
        min-height:200px;
        text-align:center;
        border:1px solid;
    }
    .test img{
        width:100%;
        height:auto;
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="test">
        <img src="http://londontechnologyweek.co.uk/assets/uploads/2014/06/Stack-Overflow-Logo.png"/>
    </div>