0

我正在为移动网站创建一个下拉菜单

http://gthost.dyndns.org/kudu/en/

当我点击我的帐户并点击我们是谁时,子菜单仍然显示,,

我想在点击链接后隐藏它。

这是 JavaScript 代码

var $j = jQuery.noConflict();
$j(document).ready(function () {
   $j(".account").click(function () {
      var X = $j(this).attr('id');

      if (X == 1) {
         $j(".submenu").hide();
         $j(this).attr('id', '0');
      } else {

         $j(".submenu").show();
         $j(this).attr('id', '1');
      }

   });

   //Mouseup textarea false
   $j(".submenu").mouseup(function () {
      return false
   });
   $j(".account").mouseup(function () {
      return false
   });


   //Textarea without editing.
   $j(document).mouseup(function () {
      $j(".submenu").hide();
      $j(".account").attr('id', '');
   });

});
4

2 回答 2

0

这里有两件事让我觉得很奇怪。

  • 为什么您的 ID 是整数 - 有效名称以[a-z_]etc开头。
  • 为什么要换身份证?ID 是唯一的标识符,只要元素存在就应该持续存在。如果您希望在元素本身中存储有关元素状态的信息,那么也许可以查看数据属性

如果没有看到您的 HTML 结构,每个人都会猜测,而不是您尝试对 ID 进行的任何操作,看起来您可以在逻辑上使用jQuery.toggle

$j(".account").click(function(){
     $j(".submenu").toggle();
});
于 2013-03-16T10:41:08.063 回答
0

我会尝试使用:

$('.submenu').css({display:"none"});

而不是 .hide();

于 2013-03-16T10:12:56.950 回答