0
我創建了佈局,並且卡住了動畫部分,因爲它可以在JSFiddle中看到,如果您從中心點擊任何框,則左側的相同導航將顯示與垂直佈局,中心塊將隱藏,這是工作正常,但要求是當點擊任何中心框時,它應該顯示左側導航,但它顯示一個動畫,所有那些中心導航正在向左移動一個接一個。Animate div從中心到左側點擊
目前它的簡單顯示和隱藏工作,但我想添加動畫,將顯示框從中心位置移動到左邊位置,有人可以請幫助動畫或指導如何實現這一目標?
這裏是我所創建至今代碼:
<style>
.noPad{padding:0;}
.row {border-bottom: 1px solid #444;}
.col_box {border-right: 1px solid #444;}
.content_box{background:#f0f0f0; text-align:center; color:#000; font-size:18px; height:200px; display:block; width:100%; line-height:200px; cursor:pointer;}
.content_box:hover{background:#CCC;}
.sidenav {left: 0; position: fixed; top: 0; z-index: 1; font-size: 18px; background:#f0f0f0; width:320px; height:100%; display:none;}
.sidenav ul{list-style:none; padding:0; margin:0;}
.sidenav ul > h2{font-size:18px; color:#960000; text-transform:uppercase; text-align:center;}
.sidenav ul li{list-style:none;}
.sidenav ul li a{text-decoration:none; color:#404040; display:block; padding:15px 0 15px 25px; border-bottom:1px solid #ddd;}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script>
$(".content_box").click(function(){
$(".sidenav").show();
$(".main-wrapper").hide();
});
</script>
<div class="sidenav">
<ul>
<h2>Navigation Here</h2>
<li><a href="#">Navigation 1</a></li>
<li><a href="#">Navigation 2</a></li>
<li><a href="#">Navigation 3</a></li>
<li><a href="#">Navigation 4</a></li>
<li><a href="#">Navigation 5</a></li>
<li><a href="#">Navigation 6</a></li>
<li><a href="#">Navigation 7</a></li>
<li><a href="#">Navigation 8</a></li>
</ul>
</div>
<div class="container-fluid main-wrapper">
<div class="row">
<div class="col-md-2 col_box noPad">
<div class="content_box"> </div>
</div>
<div class="col-md-2 col_box noPad">
<div class="content_box"> </div>
</div>
<div class="col-md-2 col_box noPad">
<div class="content_box"> Navigation 1 </div>
</div>
<div class="col-md-2 col_box noPad">
<div class="content_box"> </div>
</div>
<div class="col-md-2 col_box noPad">
<div class="content_box"> Navigation 2 </div>
</div>
<div class="col-md-2 col_box noPad">
<div class="content_box"> </div>
</div>
</div>
<div class="row">
<div class="col-md-2 col_box noPad">
<div class="content_box"> </div>
</div>
<div class="col-md-2 col_box noPad">
<div class="content_box"> Navigation 3 </div>
</div>
<div class="col-md-2 col_box noPad">
<div class="content_box"> </div>
</div>
<div class="col-md-2 col_box noPad">
<div class="content_box"> Navigation 4</div>
</div>
<div class="col-md-2 col_box noPad">
<div class="content_box"> </div>
</div>
<div class="col-md-2 col_box noPad">
<div class="content_box"> </div>
</div>
</div>
<div class="row">
<div class="col-md-2 col_box noPad">
<div class="content_box"> </div>
</div>
<div class="col-md-2 col_box noPad">
<div class="content_box"> </div>
</div>
<div class="col-md-2 col_box noPad">
<div class="content_box"> Navigation 5 </div>
</div>
<div class="col-md-2 col_box noPad">
<div class="content_box"> </div>
</div>
<div class="col-md-2 col_box noPad">
<div class="content_box"> Navigation 6</div>
</div>
<div class="col-md-2 col_box noPad">
<div class="content_box"> </div>
</div>
</div>
<div class="row">
<div class="col-md-2 col_box noPad">
<div class="content_box"> </div>
</div>
<div class="col-md-2 col_box noPad">
<div class="content_box"> Navigation 7 </div>
</div>
<div class="col-md-2 col_box noPad">
<div class="content_box"> </div>
</div>
<div class="col-md-2 col_box noPad">
<div class="content_box"> Navigation 8</div>
</div>
<div class="col-md-2 col_box noPad">
<div class="content_box"> </div>
</div>
<div class="col-md-2 col_box noPad">
<div class="content_box"> </div>
</div>
</div>
</div>
感謝您的回答,它的工作原理幾乎相同,但我一直在尋找一個一個地移動每個盒,這可能嗎? –
是的,這是可能的。您可以向transition屬性添加第四個值,爲動畫設置超時值,如下所示:'transition:all .2s ease-in .4s;'。爲了以給定順序動畫不同的元素,需要爲每個元素更改'.4s'。我再次更新了我的答案以反映這一點。現在,第一個'.col_box'立即轉換,第二個轉換爲.2s,等等。最後,我添加了延遲來計算延遲,例如返回'.sidenav'。 .6s。我刪除了一堆節點來說明這個例子,但你明白了。 :) – antidecaf
也可以通過使用jQuerys'setTimeout'來實現,如果你喜歡。 – antidecaf