如何将此 JQuery 插件重写为 AngularJS
How to rewrite this JQuery plugin into AngularJS
我这里有一个代码,我想让它可用于 AngularJS。这是原始插件 PAPER COLLAPSE 我想在 AngularJS 项目中使用它,这样我就可以 ng-repeat
这是 jQuery 插件的代码
(function() {
(function($) {
'use strict';
$.fn.paperCollapse = function(options) {
var settings;
settings = $.extend({}, $.fn.paperCollapse.defaults, options);
$(this).find('.collapse-card__heading').add(settings.closeHandler).click(function() {
if ($(this).closest('.collapse-card').hasClass('active')) {
settings.onHide.call(this);
$(this).closest('.collapse-card').removeClass('active');
$(this).closest('.collapse-card').find('.collapse-card__body').slideUp(settings.animationDuration, settings.onHideComplete);
} else {
settings.onShow.call(this);
$(this).closest('.collapse-card').addClass('active');
$(this).closest('.collapse-card').find('.collapse-card__body').slideDown(settings.animationDuration, settings.onShowComplete);
}
});
return this;
};
$.fn.paperCollapse.defaults = {
animationDuration: 400,
easing: 'swing',
closeHandler: '.collapse-card__close_handler',
onShow: function() {},
onHide: function() {},
onShowComplete: function() {},
onHideComplete: function() {}
};
})(jQuery);
}).call(this);
谢谢
很简单,看这个plunk。您可能需要调整 css abit。
没有固定的方法来做 css 只有 slideUp/slideDown,但如果您不介意包括 jquery,您可以随时在 card.$active
上添加一个手表,并且通过 jquery.
做幻灯片
我这里有一个代码,我想让它可用于 AngularJS。这是原始插件 PAPER COLLAPSE 我想在 AngularJS 项目中使用它,这样我就可以 ng-repeat
这是 jQuery 插件的代码
(function() {
(function($) {
'use strict';
$.fn.paperCollapse = function(options) {
var settings;
settings = $.extend({}, $.fn.paperCollapse.defaults, options);
$(this).find('.collapse-card__heading').add(settings.closeHandler).click(function() {
if ($(this).closest('.collapse-card').hasClass('active')) {
settings.onHide.call(this);
$(this).closest('.collapse-card').removeClass('active');
$(this).closest('.collapse-card').find('.collapse-card__body').slideUp(settings.animationDuration, settings.onHideComplete);
} else {
settings.onShow.call(this);
$(this).closest('.collapse-card').addClass('active');
$(this).closest('.collapse-card').find('.collapse-card__body').slideDown(settings.animationDuration, settings.onShowComplete);
}
});
return this;
};
$.fn.paperCollapse.defaults = {
animationDuration: 400,
easing: 'swing',
closeHandler: '.collapse-card__close_handler',
onShow: function() {},
onHide: function() {},
onShowComplete: function() {},
onHideComplete: function() {}
};
})(jQuery);
}).call(this);
谢谢
很简单,看这个plunk。您可能需要调整 css abit。
没有固定的方法来做 css 只有 slideUp/slideDown,但如果您不介意包括 jquery,您可以随时在 card.$active
上添加一个手表,并且通过 jquery.