小编典典

等效于 jQuery .hide() 设置可见性:隐藏

all

在 jQuery 中,有.hide().show()方法可以设置 CSSdisplay: none设置。

是否有可以设置visibility: hidden设置的等效功能?

我知道我可以使用.css(),但我更喜欢一些类似的功能.hide()。谢谢。


阅读 83

收藏
2022-03-28

共1个答案

小编典典

你可以制作自己的插件。

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

2022-03-28