Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.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 是否可以列出多个ID';在函数中,它不会触发.hide函数吗?_Javascript_Jquery_Css_Slidetoggle - Fatal编程技术网

Javascript 是否可以列出多个ID';在函数中,它不会触发.hide函数吗?

Javascript 是否可以列出多个ID';在函数中,它不会触发.hide函数吗?,javascript,jquery,css,slidetoggle,Javascript,Jquery,Css,Slidetoggle,我的滑入菜单有问题。在这里检查我的电脑。 此时,只要单击菜单本身以外的所有内容,滑入菜单就会关闭。问题是,当我单击文本时,菜单关闭。我想在同一个函数中列出更多的ID,类似这样的东西 if(isOpened && e.target.id!='slide-in,text') 我的剧本: var isOpened = false; $(document).click(function(e) { if(isOpened && e.target.id

我的滑入菜单有问题。在这里检查我的电脑。 此时,只要单击菜单本身以外的所有内容,滑入菜单就会关闭。问题是,当我单击文本时,菜单关闭。我想在同一个函数中列出更多的ID,类似这样的东西

if(isOpened && e.target.id!='slide-in,text')
我的剧本:

 var isOpened = false;
    $(document).click(function(e) {
      if(isOpened && e.target.id!='slide-in') {
        $("#slide-in").removeClass("active");
        isOpened = false;
        $("#button").show();
      } else if(!isOpened && e.target.id=='button'){
        $("#slide-in").addClass("active");
        isOpened = true;
        $("#button").hide;
      }
    });

谢谢大家!

您可以使用数组和
indexOf

['slide-in', 'text'].indexOf(e.target.id) === -1
我可以建议您在不希望应用类的元素中添加一个类吗

!$(this).is('.someClass')
并将其添加到
.js

$(document).ready(function(){
       $("#button").click(function(){
         $("#slide-in").show(300);
       })
       $("#slide-in").click(function(){
        $(this).hide(300);
       });

     });
如果你想更真实地使用这个。 在你的
css
中,像这样更改这个类

#slide-in {
      position: fixed;
      z-index: 10;
      top: 0;
      width: 0px;
      height: 100%;
      background-color: #eee;
      border-right: 10px solid #ccc;
      display:none;
    }
对于您的
js

$(document).ready(function(){
         $("#button").click(function(){
           $("#slide-in").animate({width: "300px"});
          });
         $("#slide-in").click(function(){
           $(this).animate({width: "0px"});
         });
     });

与其检查所有的
id
s,不如检查是否存在
id
as
slide-in

if(isOpened && e.target.id!='slide-in') {
    if(!$(e.target).parents('#slide-in').length) {
        $("#slide-in").removeClass("active");
        isOpened = false;
        $("#button").show();
    }
}
选中此项

$(e).target.is(“#滑入,#文本”)
如果元素与其中一个“id”值匹配,则返回布尔值。或者您可以只使用
|
运算符和两个显式比较。
if(isOpened && e.target.id!='slide-in') {
    if(!$(e.target).parents('#slide-in').length) {
        $("#slide-in").removeClass("active");
        isOpened = false;
        $("#button").show();
    }
}