Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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
Javascript Jquery单击功能无法正常工作_Javascript_Jquery - Fatal编程技术网

Javascript Jquery单击功能无法正常工作

Javascript Jquery单击功能无法正常工作,javascript,jquery,Javascript,Jquery,让我从我正在使用其他人的代码开始,我对jquery/javascript还比较陌生。我还使用另一个文件中的classie.js。如果这些代码中有任何可以改进的,请让我知道-我还在学习 我想发布html,但它相当长。如果这是一个问题,让我知道,我会尝试得到我的网站上的一个实时版本 我正在尝试用两个不同的打开按钮切换移动菜单:粘滞打开按钮和打开按钮 如果目标不是菜单元素或其子元素之一,则在我关闭菜单元素之前,它一直工作正常。然后它只允许openbtn打开菜单 问题代码: // close t

让我从我正在使用其他人的代码开始,我对jquery/javascript还比较陌生。我还使用另一个文件中的classie.js。如果这些代码中有任何可以改进的,请让我知道-我还在学习

我想发布html,但它相当长。如果这是一个问题,让我知道,我会尝试得到我的网站上的一个实时版本

我正在尝试用两个不同的打开按钮切换移动菜单:粘滞打开按钮和打开按钮

如果目标不是菜单元素或其子元素之一,则在我关闭菜单元素之前,它一直工作正常。然后它只允许openbtn打开菜单

问题代码:

    // close the menu element if the target is not the menu element or one of its descendants..
    content.addEventListener( 'click', function(ev) {
        var target = ev.target;
        if( isOpen && target !== ( openbtn || stickyopenbtn ) ) {
            toggleMenu();
        }

    } );
}
所有代码:

(function() {
var bodyEl = document.body,
    content = document.querySelector( '.content-wrap' ),
    stickyopenbtn = document.getElementById( 'sticky-open-button' ),
    closebtn = document.getElementById( 'close-button' ),
    openbtn = document.getElementById( 'open-button' ),
    isOpen = false;

function init() {
    initEvents();
}

function initEvents() {

        openbtn.addEventListener( 'click', toggleMenu );
        stickyopenbtn.addEventListener( 'click', toggleMenu );
        if( closebtn ) {
            closebtn.addEventListener( 'click', toggleMenu );
        }

    // close the menu element if the target is not the menu element or one of its descendants..
    content.addEventListener( 'click', function(ev) {
        var target = ev.target;
        if( isOpen && target !== ( openbtn || stickyopenbtn ) ) {
            toggleMenu();
        }

    } );
}

function toggleMenu() {
    if( isOpen ) {
        classie.remove( bodyEl, 'show-menu' );
    }
    else {
        classie.add( bodyEl, 'show-menu' );
    }
    isOpen = !isOpen;
}



init(); //make onclick talk to menu



})();

您的OR条件错误,因为
openbtn | | stickyopenbtn
将始终返回
openbtn
实例,因此不会计算单击
stickyopenbtn

content.addEventListener('click', function (ev) {
    var target = ev.target;
    if (isOpen && (target !== openbtn && target !== stickyopenbtn)) {
        toggleMenu();
    }
});

您的OR条件错误,因为
openbtn | | stickyopenbtn
将始终返回
openbtn
实例,因此不会计算单击
stickyopenbtn

content.addEventListener('click', function (ev) {
    var target = ev.target;
    if (isOpen && (target !== openbtn && target !== stickyopenbtn)) {
        toggleMenu();
    }
});

您的OR条件错误,因为
openbtn | | stickyopenbtn
将始终返回
openbtn
实例,因此不会计算单击
stickyopenbtn

content.addEventListener('click', function (ev) {
    var target = ev.target;
    if (isOpen && (target !== openbtn && target !== stickyopenbtn)) {
        toggleMenu();
    }
});

您的OR条件错误,因为
openbtn | | stickyopenbtn
将始终返回
openbtn
实例,因此不会计算单击
stickyopenbtn

content.addEventListener('click', function (ev) {
    var target = ev.target;
    if (isOpen && (target !== openbtn && target !== stickyopenbtn)) {
        toggleMenu();
    }
});

html会很有帮助,也许你可以用来运行一个例子。html会很有帮助,也许你可以用来运行一个例子。html会很有帮助,也许你可以用来运行一个例子。html会很有帮助,也许你可以用来运行一个例子。