减少或简化jquery脚本
我不太了解jQuery规则,我为主题的标题创建了一些规则来显示和隐藏一些元素。我想知道我是否可以使它更简单?我该如何将其添加到添加到主题的.js文件中 代码如下:减少或简化jquery脚本,jquery,Jquery,我不太了解jQuery规则,我为主题的标题创建了一些规则来显示和隐藏一些元素。我想知道我是否可以使它更简单?我该如何将其添加到添加到主题的.js文件中 代码如下: <script> jQuery(document).ready(function($) { var open = false; var openSidebar = function() { $('div#menu500').addClass(
<script>
jQuery(document).ready(function($) {
var open = false;
var openSidebar = function() {
$('div#menu500').addClass('ciShow');
$('.ciMenuButton').addClass('ciMenuButton-close');
$('.ciSearchButton').addClass('ciHide');
$('.ciLanguageButton-wrap').addClass('ciHide');
$('.ciHeader-logoWrap').addClass('ciHide');
$('html').addClass('scroll-disabled');
open = true;
}
var openSearchbar = function() {
$('div#search500').addClass('ciShow ciSearchshow');
$('.ciMenuButton').addClass('ciMenuButton-close');
$('.ciSearchButton').addClass('ciHide');
$('.ciLanguageButton-wrap').addClass('ciHide');
$('.ciHeader-logoWrap').addClass('ciHide');
$('html').addClass('scroll-disabled');
open = true;
}
var openLangbar = function() {
$('ul.ciLanguageButton-menu').addClass('ciShow');
$('.ciSearchButton').addClass('ciHide');
$('.ciLanguageButton-wrap').addClass('ciShow');
open = true;
}
var closeAll = function() {
$('div#menu500').removeClass('ciShow');
$('div#search500').removeClass('ciShow ciSearchshow');
$('.ciMenuButton').removeClass('ciMenuButton-close');
$('.ciSearchButton').removeClass('ciHide');
$('.ciLanguageButton-wrap').removeClass('ciHide ciShow');
$('.ciHeader-logoWrap').removeClass('ciHide');
$('ul.ciLanguageButton-menu').removeClass('ciShow');
$('.ciLanguageButton').removeClass('ciLanguageButton-open');
$('html').removeClass('scroll-disabled');
open = false;
}
$('button.ciMenuButton').click(function(event) {
event.stopPropagation();
var toggle = open ? closeAll : openSidebar;
toggle();
});
$('button.ciSearchButton').click(function(event) {
event.stopPropagation();
var toggle = open ? closeAll : openSearchbar;
toggle();
});
$('button.ciLanguageButton').click(function(event) {
event.stopPropagation();
var toggle = open ? closeAll : openLangbar;
toggle();
});
$(document).click(function(event) {
if (!$(event.target).closest('div.ciSidebar--inner').length) {
closeAll();
}
});
</script>
jQuery(文档).ready(函数($){
var open=false;
var openSidebar=函数(){
$('div#menu500').addClass('ciShow');
$('.ciMenuButton').addClass('ciMenuButton-close');
$('.ciSearchButton').addClass('ciHide');
$('.ciLanguageButton wrap').addClass('ciHide');
$('.ciHeader logoWrap').addClass('ciHide');
$('html').addClass('scroll-disabled');
开放=真实;
}
var openSearchbar=函数(){
$('div#search500').addClass('ciShow'searchshow');
$('.ciMenuButton').addClass('ciMenuButton-close');
$('.ciSearchButton').addClass('ciHide');
$('.ciLanguageButton wrap').addClass('ciHide');
$('.ciHeader logoWrap').addClass('ciHide');
$('html').addClass('scroll-disabled');
开放=真实;
}
var openLangbar=函数(){
$('ul.ciLanguageButton menu').addClass('ciShow');
$('.ciSearchButton').addClass('ciHide');
$('.ciLanguageButton wrap').addClass('ciShow');
开放=真实;
}
var closeAll=function(){
$('div#menu500').removeClass('ciShow');
$('div#search500').removeClass('ciShow ciSearchshow');
$('.ciMenuButton').removeClass('ciMenuButton-close');
$('.ciSearchButton').removeClass('ciHide');
$('.ciLanguageButton wrap').removeClass('ciHide ciShow');
$('.ciHeader logoWrap').removeClass('ciHide');
$('ul.ciLanguageButton menu').removeClass('ciShow');
$('.ciLanguageButton')。removeClass('ciLanguageButton-open');
$('html').removeClass('scroll-disabled');
开=假;
}
$('button.ciMenuButton')。单击(函数(事件){
event.stopPropagation();
var toggle=open?closeAll:openSidebar;
切换();
});
$('button.ciSearchButton')。单击(函数(事件){
event.stopPropagation();
var toggle=open?closeAll:openSearchbar;
切换();
});
$('button.ciLanguageButton')。单击(函数(事件){
event.stopPropagation();
var切换=打开?关闭全部:openLangbar;
切换();
});
$(文档)。单击(函数(事件){
if(!$(event.target).closest('div.ciSidebar--inner').length){
closeAll();
}
});
感谢您的帮助。我们可以通过声明每个HTML元素的引用进行优化,这样我们就可以提高jquery执行的速度
jQuery(document).ready(function($) {
var open = false;
let html=$('html');
let ref=$('.ciSearchButton,.ciLanguageButton-wrap,.ciHeader-logoWrap');
let searchRef=$('div#search500');
let menuRef=$('div#menu500');
let wrapRef=$('ul.ciLanguageButton-menu,.ciLanguageButton-wrap');
let ciMenuButton=$('button.ciMenuButton');
let ciSearchButton=$('button.ciSearchButton');
let ciLanguageButton=$('.ciLanguageButton');
var openSidebar = function() {
open && closeAll();
menuRef.addClass('ciShow');
ciMenuButton.addClass('ciMenuButton-close');
ref.addClass('ciHide');
html.addClass('scroll-disabled');
open = true;
}
var openSearchbar = function() {
open && closeAll();
searchRef.addClass('ciShow').addClass("ciSearchshow");
ciMenuButton.addClass('ciMenuButton-close');
ref.addClass('ciHide');
html.addClass('scroll-disabled');
open = true;
}
var openLangbar = function() {
open && closeAll();
wrapRef.addClass('ciShow');
ciSearchButton.addClass('ciHide');
open = true;
}
var closeAll = function() {
menuRef.removeClass('ciShow');
searchRef.removeClass('ciShow').removeClass('ciSearchshow');
ciMenuButton.removeClass('ciMenuButton-close');
ref.removeClass('ciHide');
wrapRef.removeClass('ciShow');
ciLanguageButton.removeClass('ciLanguageButton-open');
html.removeClass('scroll-disabled');
open = false;
}
ciMenuButton.click(function(event) {
event.stopPropagation();
openSidebar();
});
ciSearchButton.click(function(event) {
event.stopPropagation();
openSearchbar();
});
ciLanguageButton.click(function(event) {
event.stopPropagation();
openLangbar();
});
$(document).click(function(event) {
if (!$(event.target).closest('div.ciSidebar--inner').length) {
closeAll();
}
});
});
这是一个纯粹的JS/JQuery问题,您应该在stackoverflow上问这个问题,这个堆栈用于WP问题您可以将所有类名存储在数组中,并使用数组索引添加/删除类