是否可以在 Angular 指令中使用 jQuery 来执行动画
Is it OK to use jQuery in Angular directives to perform animations?
>我为我的sidebar
编写了一个简单的指令来执行一些基本的动画,例如滑入以及修改content
类的宽度和边距。
我的问题是,以这种方式使用jQuery动画可以吗:
//sidebar directive, slides in and out on click
projectDirectives.directive('sideBar', function(){
return {
restrict: 'A',
link: function(scope, element, attrs){
var $sidebar = element.find('#navbar');
var $content = $('.content');
element.find('#nav_icon').on('click', function(event){
if(!scope.navbar){
scope.navbar = true;
scope.margin = parseInt($sidebar.css('marginLeft'));
scope.contentWidth = parseInt($content.css('width'));
$content.animate({'width':scope.contentWidth - Math.abs(scope.margin) + 'px',
'marginLeft':Math.abs(scope.margin)
});
$sidebar.animate({'marginLeft':0});
} else {
scope.navbar = false;
$content.animate({'width':scope.contentWidth + 'px',
'marginLeft': 0
});
$sidebar.animate({'marginLeft':scope.margin+'px'});
}
})
},
controller: ['$scope', function($scope){
$scope.margin = null;
$scope.navbar = false;
$scope.contentWidth = null;
}]
};
}
它有效,但我知道关于 Angular 项目的结构有非常具体和常见的约定
将 jQuery 与 AngularJs 混合使用是一种不好的做法,因为您可以使用 AngularJs 来做到这一点。
一个很好的答案你的问题。
希望这有帮助!
相关文章:
- 对页面重新加载 Jquery 执行操作
- 我可以使用ajax/javascript/jquery执行curl命令吗
- jquery 执行行为
- Jquery执行基于元素'的父标记
- 等待JQuery执行,直到加载了整个页面,中断执行
- 停止jQuery执行任何进一步的代码
- 使用jQuery执行PHP脚本onclick
- 在JS上使用JQuery执行简单任务的任何原因
- 从javascript或JQuery执行服务器端cgi代码时遇到问题
- 满足两个条件时的 jQuery 执行函数
- 使用 jQuery 执行动态传递的函数调用
- 当输入某些内容时,使用 jquery 执行某些操作
- 使用 JQuery 执行服务器端验证,然后将用户发送到另一个站点
- 如何确保我的点击函数仅使用 Jquery 执行一次
- Jquery 执行函数 第三方函数结束后
- 在文本框中按回车键时的 JQuery 执行函数
- 如果我的文本区域为空,请使用jquery执行此操作
- 从javascript/jquery执行系统命令
- document.getElementById(“id”).对jQuery执行操作
- 通过jQuery执行键盘命令