Javascript 是否可以列出多个ID';在函数中,它不会触发.hide函数吗?
我的滑入菜单有问题。在这里检查我的电脑。 此时,只要单击菜单本身以外的所有内容,滑入菜单就会关闭。问题是,当我单击文本时,菜单关闭。我想在同一个函数中列出更多的ID,类似这样的东西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
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
asslide-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();
}
}