[英]Angular Bootstrap Accordion and ngAnimate, how to prevent animation on initial page load
我正在使用Angular,angle-bootstrap,angular-animate和angular-ui-router,我想要一個簡單的手風琴。 使手風琴工作並設置動畫非常簡單,但是我想防止動畫在初始頁面加載期間發生。 我注意到在angular-bootstrap演示中不會發生此問題,因此我懷疑angular-ui-router或其他問題可能會干擾,但我完全感到困惑。 任何建議,不勝感激。
<uib-accordion>
<uib-accordion-group heading="1" is-open="true">
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
</uib-accordion-group>
<uib-accordion-group heading="2">
content
</uib-accordion-group>
<uib-accordion-group heading="3">
content
</uib-accordion-group>
</uib-accordion>
(function(){
var app = angular.module("mapc-workshop", ["ui.router", "ui.bootstrap", "ngAnimate"]);
app.factory('workshopModel', ['$http', function($http){
var workshopStuff = $http.get("data/workshop_activities.json").then(function (resp) {
return resp.data;
});
var factory = {};
factory.all = function(){
return workshopStuff;
}
return factory;
}]);
app.config( function($stateProvider, $urlRouterProvider){
$stateProvider
.state("workshop", {
url: "/workshop/{section}/{subsection}/{activity}",
templateUrl: "assets/js/app/templates/workshop_home.html",
params: {
section: {value: null, squash: true},
subsection: {value: null, squash: true},
activity: {value: null, squash: true}
},
resolve: {
workshop_data: ['workshopModel',
function( workshopModel){
return workshopModel.all();
}]
},
controller: "WorkshopController"
});
$urlRouterProvider.otherwise('/workshop/');
});
}());
感謝您的協助,我們將為您提供任何幫助。
動畫確實會出現在angular-bootstrap演示中 ,但速度非常快。
避免在頁面加載時顯示動畫的最簡單方法是將其隱藏,直到手風琴已被渲染和動畫化為止。
就像是:
<uib-accordion ng-show="pageLoaded">
並在控制器中:
$timeout(function(){
$scope.pageLoaded = true;
}, 100);
這是一個小矮人
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.