I created a plnkr to show something similar, but you'll have to tweak the CSS transitions.
This is using ngAnimate
and CSS transitions to control the animations.
Markup:
<div class="tab-area" ng-switch on="activeTab">
<div class="tab tab1" ng-switch-when="1">
<h1>tab 1 content</h1>
</div>
<div class="tab tab2" ng-switch-when="2">
<h1>tab 2 content</h1>
</div>
</div>
<ul>
<li ng-click="setTab(1)">tab 1</li>
<li ng-click="setTab(2)">tab 2</li>
</ul>
JavaScript:
$scope.activeTab = 0;
$scope.setTab = function(tabId){
$scope.activeTab = $scope.activeTab===tabId ? 0 : tabId;
};