javascript - 如何在 ui-router $stateChangeStart 中等待动画结束?

标签 javascript jquery angularjs jquery-animate angular-ui-router

我在我的项目中使用 AngularJs,并在其中使用 ui-router。

当用户单击链接时,我需要先轻轻淡出当前 View ,然后再将其导航到另一个 View 。

我已经为此编写了指令,这是它的链接函数:

link: function($scope, element) {

            $rootScope.$on('$stateChangeStart',
                function (event, toState, toParams, fromState, fromParams) {

                var $element = $('#fw');

                $element.animate({
                    opacity: 0
                }, 4000, function () {

                });

        }

但是当然,过渡会立即执行,不会等待动画结束。

我既没有找到使 jQuery 动画同步的解决方案,也没有找到暂停 ui-router 转换然后在动画回调中继续它的解决方案。

请指教。

最佳答案

ui-router 内置了对动画的支持,您使用自定义指令有什么原因吗?

https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions#how-to-animate-ui-view-with-ng-animate

该页面上有一个 plunkr 链接,您也可以尝试一下 -

关于javascript - 如何在 ui-router $stateChangeStart 中等待动画结束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25285523/

相关文章:

javascript - 在 on() 事件中创建动态选择器

javascript - 如果他们的 child 不同,如何使用javascript分别获取所有父div的高度和宽度

javascript - 请求通过ajax下载servlet文件(请不要使用jquery..)

jquery - Backbone JS 查看事件未触发?

javascript - 如果单击内部按钮,则关闭模态

javascript - 嵌套 HTML 元素的 Angular 范围问题

javascript - 在Javascript中,在IE8中,事件中附加的对象方法保持 'window object',而不是对象本身在 'this'

jquery - 使用 jQuery 分层交叉元素

javascript - Vue 路由继承父属性

javascript - 如何让我的 WordPress 网站在同一页面中显示博客文章,而无需使用 AngularJS 加载新页面?