在从一个Node路由转换到另一个Node路由时执行jQuery

时间:2015-10-13 17:33:59

标签: javascript jquery css animation

我在下面有一些jQuery:

$(function () {
    $('.mnav a').click(function () {
        el = $('.border');
        el.addClass('blink');
        el.one('webkitAnimationEnd oanimationend msAnimationEnd animationend',
        function (e) {
            el.removeClass('blink');
        });
    });
});

它为动画元素添加了一个类,然后在动画运行后删除该类,因此每次单击该元素动画的链接时都会这样。

该动画正在<% - body%>中的元素上运行我的layouts.ejs的标签。当我从'/'路线转到'/ users / new'路线时,我认为动画发生在'/'路线上但是我没有看到它,因为我将在'/ users / new'路线上。

我想要的效果是,当用户点击登录链接时,效果会在转到新路线时发生。

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

您必须在所有当前元素和未来元素上绑定click事件:

$(function () {
    $('body').on("click",".mnav a",function () {
        el = $('.border');
        el.addClass('blink');
        el.one('webkitAnimationEnd oanimationend msAnimationEnd animationend',
        function (e) {
            el.removeClass('blink');
        });
    });
});