1. ホーム
  2. ジャバスクリプト

[解決済み】jQuery .hide()でvisibility: hiddenを設定するのと同等。

2022-03-24 03:49:20

質問

jQueryでは .hide().show() メソッドで、CSS display: none を設定します。

を設定する同等の関数はありますか? 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 .