2010-05-23 5 views
3

У меня есть div, у которого есть изображение «home.jpg» в качестве фона, и я хочу, чтобы фон был «another_image.jpg», когда я нажимаю что-то. Дело в том, что я хочу, чтобы новый фон исчезал, а не просто появлялся (делая некоторые .css ('background', url ('another_image.jpg'));)jQuery background image переход

Есть ли способ сделать это? Я пробовал плагин bgImageTransition, но это только добавляет еще один элемент поверх DIV я имел ...

Спасибо,

ответ

3

Единственный способ сделать это, чтобы исчезнуть в другом элементе с новым фоном.

В качестве альтернативы вы можете сразу изменить фон, а затем создать новый элемент со старым фоном и выцветать его .

0

EDIT: добавлен кросс-выцветанию эффект: http://jsfiddle.net/8vHa2/3/

(Нажмите на логотип JQuery)

Имейте в виду, что такого рода эффектов нужен второй элемент, который будет затухать или в, так что мои рекомендации вам нужно придерживаться плагина, который вы пытались.

+0

Возможно, он хочет перекреститься. – SLaks

+0

@SLaks - Ну, тогда у него нет выбора, кроме как fadeOut первых элементов над вторым, как вы предполагали, я отредактировал свой пример с помощью кросс-затухающего решения. – Ben

+0

Вы можете вызвать 'this.after()'. – SLaks

1

Вы должны проверить this blog post об анимационных фоновых изображениях ... это очень крутой эффект. Все, что вам нужно сделать, это превратить ваши два изображения в спрайт и использовать этот скрипт.

Here is the demo.

+1

Это аккуратный трюк, но для этого нужны специальные изображения. – SLaks