私は「スライドショー」を持っています...ある種の。divをフェードアウトさせてから、別のdivをフェードインさせようとしています。
問題は、新しいdivが表示される前に表示されているdivが完全に消えないことです。これにより、両方のdivが同時に存在する場合に厄介なフラッシュが発生します。
注:ラッパー(親)divをコンテンツとともに拡張する必要があるため、絶対配置を使用してdivをスタックすることはできません。divを絶対配置して「フロー」から外すと、これを達成できないようです。
JSfiddle:こちら。
これがhtmlです:
<a href="#" class="red">RED</a>
<a href="#" class="blue">BLUE</a>
<a href="#" class="green">GREEN</a>
<a href="#" class="yellow">YELLOW</a>
<div id="red"></div>
<div id="blue"></div>
<div id="green"></div>
<div id="yellow"></div>
...CSS..。
#red, #blue, #green, #yellow{display:none; width:200px; height:200px;}
#red{background:red;}
#blue{background:blue;}
#green{background:green;}
#yellow{background:yellow;}
...そしてJQuery。
$('a.red').click(function() {
$("#blue, #green, #yellow").hide('fade', function() {
$("#red").show('fade');
});
});
$('a.blue').click(function() {
$("#red, #green, #yellow").hide('fade', function() {
$("#blue").show('fade');
});
});
$('a.green').click(function() {
$("#red, #blue, #yellow").hide('fade', function() {
$("#green").show('fade');
});
});
$('a.yellow').click(function() {
$("#red, #blue, #green").hide('fade', function() {
$("#yellow").show('fade');
});
});
私はこれをずっといじっています!どんな助けでも大歓迎です。