Javascript 检测可见性,单击另一个图元时隐藏
我已经编写了一些代码来实现这一点,但我的Jquery技能有限,有人能告诉我哪里出了问题吗?我想我的语法是完全错误的。提前感谢您的帮助:)Javascript 检测可见性,单击另一个图元时隐藏,javascript,jquery,Javascript,Jquery,我已经编写了一些代码来实现这一点,但我的Jquery技能有限,有人能告诉我哪里出了问题吗?我想我的语法是完全错误的。提前感谢您的帮助:) 您的同一代码正在工作,只需包装在.ready()方法中,在e.stopPropagation()之后添加})。这就是导致问题的代码错误。您可以在浏览器的控制台中检查该错误 $(文档).ready(函数(){ //获取元素的jQuery选择器 var query=$('#menu.sub menu'); //检查元素是否可见 var isVisible=quer
您的同一代码正在工作,只需包装在
.ready()
方法中,在e.stopPropagation()之后添加})代码>
。这就是导致问题的代码错误。您可以在浏览器的控制台中检查该错误
$(文档).ready(函数(){
//获取元素的jQuery选择器
var query=$('#menu.sub menu');
//检查元素是否可见
var isVisible=query.is(':visible');
如果(isVisible==真){
//元素是可见的
$(“#菜单”)。单击(功能(e){
query.hide();
e、 停止传播();
});
}否则{
//元素是隐藏的
}
});
$(文档).ready(函数(){
//获取元素的jQuery选择器
var query=$('#menu.sub menu');
//检查元素是否可见
var isVisible=query.is(':visible');
如果(isVisible==真){
//元素是可见的
$(“#菜单”)。单击(功能(e){
query.hide();
e、 停止传播();
});
}否则{
//元素是隐藏的
}
});代码>
。子菜单{
背景:黄色;
}
菜单
子菜单
您缺少结束括号})
在e.stopPropagation()之后代码>我认为您的if条件应该在click事件中。。若要在单击菜单项时获取当前状态,也可以将其添加到html的附加部分?而且,脚本似乎还没有完成$(“#菜单”)。单击,有什么错误吗?@guradio正要键入它!:)另外,因为您只使用了一次变量,所以最好只使用.is在if语句中,使用的字符更少:)感谢所有在这里提供指针的人,感谢Morpheus解决语法问题,非常感谢:)!
// jQuery selector to get an element
var query = $('#menu .sub-menu');
// check if element is Visible
var isVisible = query.is(':visible');
if (isVisible === true) {
// element is Visible
$("#menu").click(function(e) {
query.hide();
e.stopPropagation();
} else {
// element is Hidden
}