我做了一個快速的jsfiddle顯示我遇到什麼問題:讓UL內嵌在jQuery用戶界面向左滑動動畫
的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;
}
當您單擊「繼續」時,第二個UL進來,但它偏移到當前UL以下。理想情況下,這將直接進入第一個UL的權利。
添加「float:left; width:30%」有幫助,但它仍然會跳轉。 (上的jsfiddle第二個)
顯示:內聯似乎導致怪事,以及...
任何想法如何做到這一點?
這確實阻止了它「跳」下來...我想我可以做一些事情,這和offset()...給我幾分鐘。 – 2013-02-28 08:11:43