jQuery .hide()设置可见性的等价物:hidden
在jQuery中,有一些设置CSS display: none
设置的.show()
.hide()
和.show()
方法。
是否有一个可以设置visibility: hidden
的等价函数visibility: hidden
设置?
我知道我可以使用.css()
但我更喜欢一些函数,如.hide()
左右。 谢谢。
你可以制作自己的插件。
jQuery.fn.visible = function() {
return this.css('visibility', 'visible');
};
jQuery.fn.invisible = function() {
return this.css('visibility', 'hidden');
};
jQuery.fn.visibilityToggle = function() {
return this.css('visibility', function(i, visibility) {
return (visibility == 'visible') ? 'hidden' : 'visible';
});
};
如果你想重载原来的jQuery toggle()
,我不建议...
!(function($) {
var toggle = $.fn.toggle;
$.fn.toggle = function() {
var args = $.makeArray(arguments),
lastArg = args.pop();
if (lastArg == 'visibility') {
return this.visibilityToggle();
}
return toggle.apply(this, arguments);
};
})(jQuery);
的jsfiddle。
没有内置的,但你可以很容易地编写自己的:
(function($) {
$.fn.invisible = function() {
return this.each(function() {
$(this).css("visibility", "hidden");
});
};
$.fn.visible = function() {
return this.each(function() {
$(this).css("visibility", "visible");
});
};
}(jQuery));
然后你可以这样调用它:
$("#someElem").invisible();
$("#someOther").visible();
这是一个工作示例。
更简单的方法是使用jQuery的toggleClass()方法
CSS
.newClass{visibility: hidden}
HTML
<a href="#" class=trigger>Trigger Element </a>
<div class="hidden_element">Some Content</div>
JS
$(document).ready(function(){
$(".trigger").click(function(){
$(".hidden_element").toggleClass("newClass");
});
});
链接地址: http://www.djcxy.com/p/2375.html