Создание функций jQuery для манипулирования Visebility CSS
в jQuery, методы .hide () и .show (), удобно устанавливая свойство CSS ни одному и блок, соответственно. Однако существует ли аналогичная функция, которая явно устанавливает свойство видимости CSS на скрытую? Функции:
jQuery.fn.visible = function () { вернуть this.css («видимость», «видимый»); }; jquery.fn.invisible = function () { вернуть this.css («видимость», «скрытый»); }; jquery.fn.visibilitytoggle = function () { вернуть this.css ('видимость', функция (i, viseibility) { возврат (видимость == 'visible')? «Скрытый»: «видимый»; }); };
пример использования:
$ ('#element'). Visible (); // делает элемент видимым $ ('#element'). невидимый (); // делает элемент невидимым $ ('#element'). visembibyToggle (); // Toggles Visebility
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'; }); };
! (Function ($) { var toggle = $ .fn.toggle; $ .fn.toggle = function () { var args = $ .makearray (аргументы), astarg = args.pop (); if (lastarg == 'видимость') { вернуть это. } вернуть toggle.apply (это, аргументы); }; }) (jQuery);
это позволяет использовать Toggle ('Visibility') в качестве ярлыка для переключения видимости. Однако это обычно не рекомендуется, поскольку он может переопределять поведение по умолчанию Toggle () в других контекстах.$('#element').visible(); // Makes element visible $('#element').invisible(); // Makes element invisible $('#element').visibilityToggle(); // Toggles visibility
Interactive Jsfiddle Demanation:
https://jsfiddle.net/ [&&?Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3