這裏是你在找什麼: https://codepen.io/MandeepSingh/pen/mEkJKY
在我codepen,我設置正確的(藍色)格爲「自動」的寬度和動畫按鈕單擊左div的寬度。這將藍色的div移動到最右邊(通過動畫)。當再次點擊該按鈕時,我只是將黃色div的寬度從100%恢復爲初始大小。
我想你不想在動畫中隱藏div的內容,所以我在這兩個div中放入了一些垃圾文本,以便您可以看到隨着調整大小的div移動的內容。
最後一兩件事,我遵守了我的代碼儘可能靠近你的,但你能避免使用隱藏(),顯示()用一個標誌變量來切換按鈕單擊動畫功能。
下面的代碼...
HTML:
<div id="left"> left content
<button onclick="toggle()">Click Me</button>
<br>
Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam,
Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam,
Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam,
Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam
</div>
<div id="right">right content
<br><br>
Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam,
Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam,
Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam,
Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam, Agdam chagdm bagdam dagdam
</div>
CSS:
html, body {
height: 100%;
}
body{
font-size:13px;
font-family:calibri;
}
#right {
height: 100%;
width: auto;
background: #9ff;
overflow: hidden;
}
#left {
height: 100%;
float: left;
width: 40%;
background: #ff9;
}
JS:
function toggle()
{
if($("#right").is(":visible"))
{
$('#left').animate({"width":"100%" }, 3000, function(){
$("#right").hide();
});
}
else
{
$('#right').show();
$('#left').animate({"width":"40%"}, 3000);
}
}
- 或使用,如果你想這個JS以避免hide()和show():
var flag = 0;
function toggle()
{
if(flag == 0)
{
$('#left').animate({"width":"100%" }, 3000);
flag = 1;
}
else
{
$('#left').animate({"width":"40%"}, 3000);
flag = 0;
}
}
作爲一個加號,您不必爲此動畫使用Jquery UI。
不明白你想要什麼。請解釋 – Atula
@Atula,對不明的帖子感到抱歉。我編輯了原文,以更好地闡明問題。謝謝。 –