Javascript 基于布尔值的淡入淡出/淡出
我想知道我是否真的要写:Javascript 基于布尔值的淡入淡出/淡出,javascript,jquery,Javascript,Jquery,我想知道我是否真的要写: if (status) { $('#status-image-' + id).fadeIn(); } else { $('#status-image-' + id).fadeOut(); } 或者有一个我可以提供布尔状态的函数,类似于: $('#status-image-' + id).fade(status); 我见过fadeToggle,但它不接受布尔状态参数。我知道写这篇文章的最短方法,但我个人觉得很讨厌,是这样的: $('#status-im
if (status) {
$('#status-image-' + id).fadeIn();
} else {
$('#status-image-' + id).fadeOut();
}
或者有一个我可以提供布尔状态的函数,类似于:
$('#status-image-' + id).fade(status);
我见过fadeToggle,但它不接受布尔状态参数。我知道写这篇文章的最短方法,但我个人觉得很讨厌,是这样的:
$('#status-image-' + id)[status ? 'fadeIn' : 'fadeOut']();
当然,您可以直接将建议的函数添加到jQuery:
(function($) {
$.fn.fade = function() {
var args = Array.prototype.slice.call(arguments);
var status = args.shift();
var func = status ? 'fadeIn' : 'fadeOut';
return $.fn[func].apply(this, args);
};
})(jQuery);
这是未经测试的-我只是当场完成了
提供的第一个参数是您的
状态
参数-其余参数将传递到.fadeIn()
或.fadeOut()
不,没有,但您可以这样做:
jQuery.fn.fadeInOrOut = function(status){
return status ? this.fadeIn() : this.fadeOut();
}
然后这样称呼它(请参阅以获取证据):
这是你想要的吗?不错,谢谢。你知道一个JSFIDLE是永远存在还是过一段时间就会被删除吗?@stivlo:没问题。我不知道有什么JSFIDLE被删除了。您可能会问jsfiddle的开发人员,它是否会永远存在,但他们非常可靠,所以我认为它会存在相当长的一段时间。
$('#status-image-' + id).fadeInOrOut(status);