检测可见性,隐藏另一个元素的点击

时间:2017-07-14 08:54:45

标签: javascript jquery

我已经整理了一些代码来完成这项工作,但我的Jquery技能有限,任何人都可以让我知道我哪里出错了?我认为我的语法完全不正确。在此先感谢您的帮助:)

// 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
  }

1 个答案:

答案 0 :(得分:0)

您的相同代码仅使用.ready()方法,}) 之后添加e.stopPropagation();。这是您的代码中的错误导致您的问题负责您可以在浏览器的控制台中检查该错误。



$(document).ready(function() {
    // 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
    }
});

.sub-menu {background: yellow;}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="menu">
	Menu
	<div class="sub-menu">
		Sub Menu
	</div>
</div>
&#13;
&#13;
&#13;