Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
减少或简化jquery脚本_Jquery - Fatal编程技术网

减少或简化jquery脚本

减少或简化jquery脚本,jquery,Jquery,我不太了解jQuery规则,我为主题的标题创建了一些规则来显示和隐藏一些元素。我想知道我是否可以使它更简单?我该如何将其添加到添加到主题的.js文件中 代码如下: <script> jQuery(document).ready(function($) { var open = false; var openSidebar = function() { $('div#menu500').addClass(

我不太了解jQuery规则,我为主题的标题创建了一些规则来显示和隐藏一些元素。我想知道我是否可以使它更简单?我该如何将其添加到添加到主题的.js文件中

代码如下:

<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问题您可以将所有类名存储在数组中,并使用数组索引添加/删除类