http://jsfiddle.net/AndyMP/fVKDy/自動的
このバイオリンは私が解決しようとしている問題を示しています。コンテナDIVは、アニメーション化された2つのDIVに対応しています。 2番目のDIVは、コンテンツが少ないため、1番目のDIVの高さが1番目のDIVよりも小さくなります。私がしようとしているのは、表示されているときに、下のDIVが2番目のDIVのコンテンツの高さに応じて自動的にスライドするようにすることです。しかし、それは2番目のDIVの上を滑り降りる。
これを解決する方法についてのご意見はありますか?
$(function() {
$(".left_slide").click(function() {
$(".block1").stop(true, true).animate({ left: -400 }, 500).hide(1000);
$(".block2").stop(true, true).animate({ left: 0 }, 500);
});
});
$(function() {
$(".right_slide").click(function() {
$(".block2").stop(true, true).animate({ left: 400 }, 500);
$(".block1").stop(true, true).animate({ left: 0 }, 500);
});
});
CSS
#blog_slide_container {
position: relative;
width: 400px;
z-index: 5;
overflow: hidden;
border: 1px solid #000;
}
.block1 {
position: relative;
top: 0px;
left: 0px;
width: 400px;
z-index: 6;
background-color: #333;
color: #FFF;
}
.block2 {
position: absolute;
top: 0px;
left: 400px;
width: 400px;
z-index: 6;
background-color: #CCC;
color: #FFF;
}
#bottom_container {
position: relative;
float: left;
width: 100%;
height: 280px;
z-index: 3;
background-color: #000;
}
どこから始めるべきかわかりません。アプローチは間違っています。あなたの外側の要素を絶対的な位置に置かないでください。各要素をアニメートしないでください。代わりに、両方のdivでラップし、そのdivだけをアニメーション化します。次に、アクティブなスライドの高さを測定し、それに応じてフッターを移動することができます。 – Fresheyeball