मैं एनजी-एनिमेट और एनजी-व्यू के साथ एक 3 डी क्यूब प्रभाव एनीमेशन प्राप्त करने की कोशिश कर रहा हूं।कोणीयजेएस: एनजी-एनिमेट और एनजी-व्यू के साथ, 3 डी घन रोटेशन प्रभाव कैसे बनाएं?
जब मैं किसी अन्य पृष्ठ पर स्विच करता हूं, तो मुझे लगता है कि मैं घन पर घूम रहा हूं। जब मैं "गो पेज 2" पर क्लिक करता हूं, तो वास्तविक "पृष्ठ 1" बाईं ओर घूमता है और घुमाएगा और "पृष्ठ 2" दाईं ओर से पहुंच जाएगा।
मुझे कुछ आ रहा है लेकिन वास्तव में गंदे सीएसएस संक्रमण के साथ और जब मैं पृष्ठों को स्विच करता हूं, तो वे एक साथ "छड़ी" नहीं होते हैं।
कोड का नमूना: http://jsfiddle.net/bnyJ6/
मैं इस तरह की कोशिश की है:
HTML:
<style ng-bind-html-unsafe="style"></style>
<div class="cube container">
<div ng-view ng-animate="{enter: 'animate-enter', leave: 'animate-leave'}" ></div>
</div>
<script type="text/ng-template" id="page1.html">
<div class="container " >
<div class="masthead">
<h1 class="muted">PAGE 1</h1>
<button class="btn display-button" ng-click="direction('front');go('/two')">Go Page 2</button>
</div>
</div>
</script>
<script type="text/ng-template" id="page2.html">
<div class="container " >
<div class="masthead">
<h1 class="muted">PAGE 1</h1>
<button class="btn display-button" ng-click="direction('back');go('/one')" >Go page 1</button>
</div>
</div>
</script>
कोणीय जे एस:
var app = angular.module('demo', []);
app.config(function ($routeProvider) {
$routeProvider
.when('/one', {
templateUrl:'page1.html'
})
.when('/two', {
templateUrl:'page2.html'
})
.otherwise({
redirectTo:'/one'
});
});
app.controller('MainCtrl', function($scope, $rootScope, $location) {
$scope.go = function(path) {
$location.path(path);
}
});
CSS3-Dirty- एनिमेशन:
.animation{
-webkit-perspective:2000px;
-moz-perspective:2000px;
-o-perspective: 2000px;
perspective: 2000px;
}
.cube {
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
-o-transform-style: preserve-3d;
transform-style: preserve-3d;
position: relative;
}
.animate-enter,
.animate-leave {
-webkit-transition: 3000ms linear all;
-moz-transition: 3000ms linear all;
-ms-transition: 3000ms linear all;
-o-transition: 3000ms linear all;
transition: 3000ms linear all;
position: absolute;
}
.animate-enter {
background-color:green;
-webkit-transform: rotateY( 90deg) translateZ(600px) translateX(585px) ;
-moz-transform: rotateY( 90deg) translateZ(600px) translateX(585px);
-o-transform: rotateY( 90deg) translateZ(600px) translateX(585px);
transform: rotateY( 90deg) translateZ(600px) translateX(585px);
opacity: 0;
}
.animate-enter.animate-enter-active{
background-color:yellow;
-webkit-transform: rotateY( 0deg) translateX(250px) translateZ(400px);
-moz-transform: rotateY( 0deg) translateX(250px) translateZ(400px);
-o-transform: rotateY( 0deg)translateX(250px) translateZ(401px);
transform: rotateY( 0deg) translateX(250px) translateZ(400px);
opacity: 1;
}
.animate-leave {
background-color:gray;
-webkit-transform: rotateY( -90deg) translateZ(361px);
-moz-transform: rotateY( -90deg) translateZ(361px);
-o-transform: rotateY(-90deg) translateZ(361px);
transform: rotateY(-90deg) translateZ(361px);
opacity: 0;
}
आप में से किसी विचार है कि यह कैसे 3 डी घन प्रभाव एनीमेशन मिल सकता है?
सभी प्रकार की सहायता के लिए धन्यवाद जो आप प्रदान कर सकते हैं।
वाह !! वह आश्चर्यजनक है ! बहुत बहुत धन्यवाद !! आपकी टिप्पणियां बहुत उपयोगी हैं! मुझे यह चाल नहीं मिल सका और जिस तरह से आप इसे समझाते हैं, सब कुछ स्पष्ट हो जाता है !! – simval