2

我无法让这个工作的“其他”位。有谁知道问题是什么?

var navOpen = false;
                if (navOpen == false) {
                    $("nav").click(function() {
                        $(this).css("bottom","0");
                        navOpen = true;
                    });
                } else {
                    $("nav").click(function() {
                        $(this).css("bottom","-84");
                        navOpen = false;
                    });
                }
4

4 回答 4

6

条件是在错误的地方。

 var navOpen = false;
 $("nav").click(function() {
      if (navOpen == false) {
           $(this).css("bottom","0");
           navOpen = true;
      } else {
           $(this).css("bottom","-84px");
           navOpen = false;
      }
 });
于 2013-02-27T03:45:07.193 回答
5

您将多个处理程序绑定到同一个元素,您可以使用css方法:

$("nav").click(function() {
   $(this).css("bottom", function(i, bottom) {
      return bottom === '0px' ? '-84px' : '0px';
     // return navOpen ? '-84px' : '0px';
   });
})
于 2013-02-27T03:43:35.883 回答
4

尝试

$(this).css("bottom","-84px");
于 2013-02-27T03:42:26.733 回答
4

您需要定义计量(例如 px、%)。CSS 不仅仅支持像 HTML 属性那样的数字参数。

于 2013-02-27T03:44:29.687 回答