私が問題を抱えていることを示すために、簡単なjsFiddleを作成しました。
JavaScript (主にMultipart Form - jQueryから)
$('.step1').siblings('ul').hide(); // hide all except step 1
$('.continue').click(function(){
$(this).closest('.step').hide("slide", direction:"left"},1500).parent().next('.step').show("slide",{direction:"right"},1500);
return false;
});
$('.back').click(function(){
$(this).closest('.step').slideUp().prev('.step').slideDown();
return false;
});
HTML
Non-Floater
<form class="a">
<ul class="step step1">
<li>item</li>
<li>item</li>
<li>
<button class="continue">Continue</button>
</li>
</ul>
<ul class="step step2">
<li>item</li>
<li>item</li>
<li>
<button class="back">Back</button>
<button class="continue">Continue</button>
</li>
</ul>
</form>
Floater
<form class="floater">
<ul class="step step1">
<li>item</li>
<li>item</li>
<li>
<button class="continue">Continue</button>
</li>
</ul>
<ul class="step step2">
<li>item</li>
<li>item</li>
<li>
<button class="back">Back</button>
<button class="continue">Continue</button>
</li>
</ul>
</form>
CSS
ul {
margin: 0;
padding: 0;
list-style-type: none;
}
.floater ul {
width: 30%;
float: left;
}
[続行] をクリックすると、2 番目の UL が表示されますが、現在の UL の下にオフセットされています。理想的には、これは最初の UL の右側に直接入ります。
「float:left; width:30%」を追加すると役立ちますが、それでもジャンプします。(jsFiddle の 2 つ目)
表示:インラインも奇妙さを引き起こすようです...
これを達成する方法はありますか?