我在玩一個想法,在那裏我想模仿主要容器元素實際上左右移動的Facebook移動應用程序。然而,我已經嘗試了這幾種方式,我想要移動的元素似乎調整了大小而不是移動,我不知道是什麼或爲什麼它會這樣做,而不是按我期望的方式移動。jQuery將固定或絕對定位的元素移動到左側或右側
注意我試過主元素作爲固定元素和絕對元素。我也嘗試在javascript中使用'left'或'right'而不是'marginLeft'或'marginRight'。
所以我想知道我在做什麼錯了?
的CSS:
html, body{margin:0;padding:0;width:100%;height:100%;}
#wrap_main{background-color:gray;position:fixed;top:0;left:0;right:0;bottom:0;z-index:10;}
#wrap_bottom_left{background-color:aqua;width:50%;float:left;}
#wrap_bottom_right{background-color:green;width:50%;float:right;}
的JavaScript:
var isMenuOpen = false;
$(document).ready(function()
{
//code
});
$('#menu_left_trigger').click(function(e)
{
e.preventDefault();
var $mainEle = $('#wrap_main');
if(isMenuOpen == false)
{
isMenuOpen = true;
$mainEle.animate({marginLeft:"10%"}, 1000);
}
else
{
isMenuOpen = false;
$mainEle.animate({marginLeft:"0"}, 1000);
}
});
$('#menu_right_trigger').click(function(e)
{
e.preventDefault();
var $mainEle = $('#wrap_main');
if(isMenuOpen == false)
{
isMenuOpen = true;
$mainEle.animate({marginRight:"10%"}, 1000);
}
else
{
isMenuOpen = false;
$mainEle.animate({marginRight:"0"}, 1000);
}
});
的HTML:
<div id="wrap_main">
<a href="javascript:void(0);" id="menu_left_trigger">Menu</a><br>
<a href="javascript:void(0);" id="menu_right_trigger">Sub Menu</a>
</div>
<div id="wrap_bottom_left">
<ul>
<li>Something</li>
<li>Something</li>
<li>Something</li>
<li>Something</li>
</ul>
</div>
<div id="wrap_bottom_right">
<ul>
<li>Something</li>
<li>Something</li>
<li>Something</li>
<li>Something</li>
</ul>
</div>
isMenuOpen邏輯並不完整,而且我明白,如果對方是開放的(或者在當時開放的過程中),我打算在這裏設置停止點。然而,在我到那之前。我意識到,當我點擊從右側打開的容器時,容器中的內容停留在屏幕上,而容器重新調整大小。這不是渴望。就自身的餘裕而言,我也嘗試過。但是我不會發布各種版本的相同代碼來證明我做過,儘管我在原始文章中提到了它 – chris