2015-12-02 25 views
2

我試圖在單擊按鈕時顯示<div>調用的設置。它應該淡入,然後向右滑動。它淡入屏幕的左側。淡入淡出並在div上滑動鏈接

我到目前爲止有:

的HTML

<div id="settings" ng-show="settings"> 

</div> 

,並調用showSettings() function鏈接:

<a href="#" ng-click="showSettings()"><i class="icon setting"></i></a> 

的CSS

#settings { 
    background:red; 
    position:fixed; 
    top:0; 
    left:0; 
    bottom:0; 
    width:400px; 
} 

的控制器

$scope.showSettings = function(){ 
    $timeout(function() { 
     $scope.settings = true; 
    }, 250);  
} 

所以我有衰落,但我現在該如何能讓它向右滑動說200px

此外,我希望能夠點擊除<div>之外的任何地方來反轉此過程。

+0

@HunterTurner:標籤去除,所以不是一個問題,更多的:) –

回答

2

是這樣的:

添加ng-class="{slide:slideFlag}"

在控制器

$scope.showSettings = function() { 
$timeout(function() { 
    $scope.settings = true; 
    $timeout(function() { 
    $scope.slideFlag = true; 
    }, 250); 

}, 250); 

和CSS:

.slide{ 
    transition: all 0.5s; 
    margin-left:200px; 
} 

這裏是工作提琴: http://jsfiddle.net/q5cqh9qj/

還,使用兩個timeouts是,你不能運行transition,而你正在改變display財產的理由(設置=真;)

+0

歡呼爲此 - 你如何建議逆轉這一過程。在頁面的右側添加某種點擊處理程序? – tommyd456

+0

您可以在文檔中添加點擊處理程序 – gaurav5430

+0

我是否需要添加其他css規則才能讓div再次滑動? – tommyd456