Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Работа FadeIn и FadeOut (https://javascript.ru/forum/jquery/17772-rabota-fadein-i-fadeout.html)

eXtreme 02.06.2011 09:59

Работа FadeIn и FadeOut
 
$(document).ready(function() {
$('.main .block .smena').toggle(

function() {
$('.fon').fadeOut('slow', function() {
$('.fon').css({background:'url("images/fon2.jpg")'}).fadeIn('slow');
});
},
function() {
$('.fon').fadeOut('slow', function() {
$('.fon').css({background:'url("images/fon1.jpg")'}).fadeIn('slow');
});
}

);
});


Написал скрипт смены фона контента. Все работает следующим образом, при клике на кнопку фон плавно исчезает и плавно появляется новый. При повторном клике снова исчезает и появляется первоначальный. Все ок, но вопрос как мне сделать так, чтобы при клике у меня просто поверх первоначального плавно появлялся новый, без эффекта исчезновения предыдущего. Пытался играть просто FadeIn по типу
$('.fon').fadeIn('slow').css({background:'url("images/fon1.jpg")'});
или
$('.fon').fadeIn('slow', function() {
$('.fon').css({background:'url("images/fon2.jpg")'});
});

и прочие варианты. Эффект тот же, картинка появляется не плавно, а сразу (:
Без какого либо плавного появления.
Конечно можно было бы просто тупо через css на абсолютном позиционировании расположить два фона, и потом через скрипт менять прозрачность, но если картинок 3 и более, не вариант. тем более что планирую на разные кнопки.
Спасибо

cmygeHm 02.06.2011 14:14

а браузер какой? была проблема. если див пустым выводил на экран JQuery-эффектами, то он выходил нормально, а как только в него что-либо вставлял типа картинки он начинал себя ужасно вести. Это на фаерфоксе было, на новом или нет не помню. А вот в хроме нормально эффект срабатывал.

eXtreme 03.06.2011 10:56

у меня не дивки. у меня одн дивка и в ней по умолчанию стоит один бекграунд. а затем при помощи кода его меняю.

cmygeHm 03.06.2011 11:20

а браузер какой?

Matre 03.06.2011 11:32

Накладывать поверх старого изображения новое (position: absolute) с opacity:0 и показывать через .fadeIn()


Часовой пояс GMT +3, время: 01:07.