У меня есть два div. Один отображается, а другой скрыт (с помощью display: none). Когда я нажимаю на первый div, он должен медленно исчезать (сделанный с переходом: непрозрачность), а затем используя setTimeout javascript, я делаю его отображаемым: none и в это время помещаю второй div-дисплей: блокируем и добавляем его класс (который делает его видимым с переходом: непрозрачность). Вопрос в следующем: почему первый div имеет желаемый эффект (медленно исчезает), а второй div сразу же отображается после этого (эффект перехода в этом случае не работает).Как отображение: эффект блока при переходе: непрозрачность?
HTML
<body style="border:1px solid black">
<div class="square red show" ></div>
<div class="square blue" style="display:none"></div>
</body>
Css
.square{
opacity:0;
transition: opacity 1s linear;
}
.square.show{
opacity:1;
transition: opacity 1s linear;
}
.red{
background-color:red;
}
.blue{
background-color:blue;
}
Js
$('.red').click(function(){
$(this).removeClass('show');
setTimeout((function(p){return function(){
$(p).css('display', 'none');
$('.blue').css('display', 'block').addClass('show');
}})(this), 1000);
});
Пример здесь: http://jsfiddle.net/y7cX2/ Спасибо.
ли это помогает '$ ('голубые'.) .show (500); ' –