<!DOCTYPE html>
<html ng-app="app">
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script>document.write('<base href="' + document.location + '" />');</script>
<script data-semver="1.2.10" src="http://code.angularjs.org/1.2.10/angular.js" data-require="angular.js@1.2.x"></script>
<script src="http://code.angularjs.org/1.2.10/angular-animate.js" data-semver="1.2.10" data-require="angular-animate@*"></script>
<script data-require="ui-router@*" data-semver="0.2.8" src="http://angular-ui.github.io/ui-router/release/angular-ui-router.js"></script>
<style type="text/css" media="all">
.nav{ padding: 1em; }
.view-container{
position:relative;
border-top: 15px solid blue;
}
.view{
padding: 1em;
box-sizing: border-box;
background-color: #eee;
}
.view.ng-enter, .view.ng-leave{
position: absolute;
width: 100%;
-webkit-transition:all 5s ease-in-out;
transition:all 5s ease-in-out;
}
.view.ng-enter{
transform: translate3d(100%, 0, 0);
-webkit-transform: translate3d(100%, 0, 0);
}
.view.ng-enter-active{
transform: translate3d(0, 0, 0);
-webkit-transform: translate3d(0, 0, 0);
}
.view.ng-leave{
transform: translate3d(0, 0, 0);
-webkit-transform: translate3d(0, 0, 0);
}
.view.ng-leave-active{
transform: translate3d(-100%, 0, 0);
-webkit-transform: translate3d(-100%, 0, 0);
}
</style>
</head>
<body>
<nav>
<a href="#/view1">view1</a> |
<a href="#/view2">view2</a>
</nav>
<div class="view-container">
<div class="view" ui-view></div>
</div>
<script type="text/javascript" charset="utf-8">
var app = angular.module("app", ['ui.router', 'ngAnimate']);
app.config(function($stateProvider, $urlRouterProvider){
$urlRouterProvider.otherwise("/view1");
$stateProvider
.state("view1", {url:'/view1', template:'<div>view1</div>'})
.state("view2", {url:'/view2', template:'<div>view2</div>'});
});
</script>
</body>
</html>
# Example to illustrate problem in ui-router and ng-animate
Try to use ui-router and ng-animate to create the classic sliding view typical
in mobile app.