исчезает в фоновом изображении - PullRequest
1 голос
/ 02 марта 2012

Как я могу добавить fadeIn ();эффект изменения изображения backg5round при нажатии?Текущий код ниже работает, но без эффекта затухания.

html

<div class="background"></div>

css

.background {position:absolute;top:0;right:0;bottom:0;left:0;background-repeat:repeat;background-position:center top;background-image:url(images/skins/BiblesandCommentaries.jpg);} 

js

$('.selector').click(function() {
    $('.background').css({'background-image':'url(images/skins/'+$(this).attr('href').replace('#', '') +'.jpg'+')'});
});

Ответы [ 2 ]

4 голосов
/ 02 марта 2012

Для более плавного восприятия было бы полезно предварительно загрузить изображение, а затем изменить фоновое изображение. Вот скрипт ниже на jsFiddle , с небольшим изменением для размещения источников изображения:

$('.selector').click(function() {
    var img = document.createElement('img');
    img.src = 'images/skins/'+$(this).attr('href').replace('#', '') +'.jpg';
    img.onload = function () {
        $('.background').fadeOut(function () {
            $(this).css({'background-image':'url('+img.src+')'}).fadeIn();
        });
    };
    return false;
});​
1 голос
/ 02 марта 2012

текущий CSS для фона может быть установлен на

.background {
    visibility:hidden;
}


$('.selector').click(function() {
    $('.background').css(....).fadeIn();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...