我有兩個div。顯示一個,隱藏其他(使用display:none)。 當我點擊第一個div時,它應該慢慢消失(用transition:不透明度),然後使用javascript的setTimeout使其顯示:none並且在那個時候放置第二個div顯示:block並添加他class(這使他可見與過渡:不透明度)。 問題是:爲什麼第一個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);' –