Fade background image in and out with jQuery?

后端 未结 4 977
渐次进展
渐次进展 2020-11-27 21:52

So far, I\'ve tried a bunch of things to the effect of the following, without success:



        
相关标签:
4条回答
  • 2020-11-27 22:34

    I got here because I was looking for a solution to fading background images based on a <select> option change. I combined what I had already written with Hussein's jsfiddle above and came up with this jsfiddle.net/v4BMC/.

    This initially stacks two identical images on top of each other. When the <select> is changed, the top image's style attribute is removed, the bottom image's src is changed and the top image is faded out to reveal the bottom one. (The top image finishes with a style="display:none" which needs to be removed at the beginning of the operation, otherwise it doesn't work.)

    Hope this is useful to someone else and not too irrelevant to be included here!

    0 讨论(0)
  • 2020-11-27 22:38

    Although you can't directly fade-in a background-image. You can fade-in a solitary element containing only a background-image...

    Here's an example

    0 讨论(0)
  • 2020-11-27 22:41

    You can fade backgound-images! in and out!

    jQuery:

    $('#yourdiv').animate({opacity: 0}, 0).css("background-image", "url(image.jpeg)").animate({opacity: 1}, 2500);
    

    Edit:

    This will fade the whole div not onley the background-image.

    0 讨论(0)
  • 2020-11-27 22:43

    You can fade background colors but not background images. The way to work around this is to have your images as <img> tags and hide them by default display:none;. Give your images position:absolute and z-index:-1 so they act like backgrounds and are behind everything else.

    Here's a quick example of images fading one after the other.

    HTML

    <img src=".." />
    <img src=".." />
    

    CSS

    img{
     position:absolute;
     z-index:-1;
     display:none;
    }
    

    jQuery

    function test() {
        $("img").each(function(index) {
            $(this).hide();
            $(this).delay(3000* index).fadeIn(3000).fadeOut();
        });
    }
    test();
    

    Check working example at http://jsfiddle.net/RyGKV/

    0 讨论(0)
提交回复
热议问题