13

我有一个非常快速的问题,应该很容易回答。

我有一个移动导航菜单,它使用 jQuery “向下钻取”菜单级别。每次加载关卡时,jQuery 都会确定菜单的高度,并相应地设置它。

我在按钮上使用以下脚本来切换显示和隐藏基于当前页面的主菜单:

<script type="text/javascript">
    (function ($) {
        $("a.BNnavTrigger").click(function (event) {
            event.preventDefault();
            $("div.drill-down-wrapper").slideToggle("9000");
        });
    })(jQuery);     
</script>

为了让菜单在某些页面上开始“关闭”,我知道我必须将 css 值赋给display:none;包含的 div。对于一个小问题,这一切都很好。

当我最初隐藏菜单时,jQuery 向下钻取菜单插件检测到它是隐藏的,并将菜单高度设置为 0px。当我在最初隐藏菜单的页面上切换菜单时,窗格中的所有其他内容都会正确切换,但菜单本身的高度为 0。

在我的脑海中,这个问题的明显答案是在菜单加载并设置高度之后通过 javascript 隐藏包含的菜单 div。这听起来正确吗?

谁能给我一个小脚本来做到这一点?我是一个完整的 js 菜鸟。其他人对如何处理这个问题有不同的建议吗?

谢谢你的时间!亚历克斯

更新!

JS 在这里解决这个问题:http: //jsfiddle.net/fyyG2/17/ *

4

5 回答 5

17

文件准备$("#yourId").hide();了。

例如:

$(document).ready(function () {

     $("div.drill-down-wrapper").hide();
     var $drillDown = $("#drilldown");

        // (what ever your code is)
 });
于 2013-05-28T20:31:32.823 回答
16

试试这个方法:

$("#yourId").css("display","none");

它应该可以工作!

我希望它有所帮助。

于 2013-05-25T16:30:12.027 回答
2

将 css value display:none 添加到您的 css 文件就可以了。 http://jsfiddle.net/dxkX6/4/

但我可以看到您的 html 文件中有错字:

$("a.BNnavTrigger").click(function (event) {
       ^

<a class="BNavTrigger">Toggle Menu</a>
        ^

这可能是您遇到问题的原因吗?

于 2013-05-27T00:09:07.657 回答
1

我不确定我是否完全理解您的问题,但这里有一个想法:

将您希望隐藏的不透明度设置为 0,而不是更改它的大小/隐藏它。这样它将保持其尺寸但不会被用户看到:

$('#id').css('opacity',0);

并重新显示元素:

$('#id').css('opacity',1);
于 2013-05-28T20:28:27.357 回答
0

尝试:

$('#id').style = "display: none;"
于 2020-04-10T15:37:06.880 回答