将div设置为显示:无;使用javascript或jQuery

将div设置为显示:无;使用javascript或jQuery,javascript,jquery,css,mobile,Javascript,Jquery,Css,Mobile,我有一个非常快速的问题,应该是一个简单的答案 我有一个移动导航菜单,它使用jQuery“向下搜索”菜单级别。每次加载级别时,jQuery都会确定菜单的高度,并相应地进行设置 我在按钮上使用以下脚本根据当前页面切换显示和隐藏主菜单: <script type="text/javascript"> (function ($) { $("a.BNnavTrigger").click(function (event) { event.preve

我有一个非常快速的问题,应该是一个简单的答案

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

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

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

(函数($){
$(“a.BNnavTrigger”)。单击(函数(事件){
event.preventDefault();
$(“div.drill-down-wrapper”)。滑动切换(“9000”);
});
})(jQuery);
为了让菜单在某些页面上开始“关闭”,我知道我必须给css值
display:none到包含的div。只要有一个小问题,就可以正常工作

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

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

谁能给我一个小脚本来做这个?我是一个彻头彻尾的js迷。对于如何处理这个问题,还有其他人有不同的建议吗

谢谢你的时间! 亚历克斯

更新

JS在这里为问题摆弄:*

尝试以下方法:

$("#yourId").css("display","none");
应该能行


我希望它能有所帮助。

添加css值显示:在css文件中无任何效果很好。

但我可以看到您的html文件中有一个输入错误:

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

<a class="BNavTrigger">Toggle Menu</a>
        ^
$(“a.BNnavTrigger”)。单击(函数(事件){
^
切换菜单
^

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

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

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

$('#id').css('opacity',0);
并重新显示该元素:

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

文档准备好时执行
$(“#yourId”).hide();

例如:

$(document).ready(function () {

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

        // (what ever your code is)
 });
尝试:


你也可以附加html文件吗?这很好,但是如果我们能够帮助你处理这个部分,你不应该告诉我们你是如何加载这个菜单和设置它的高度的吗?@Edward-我已经添加了我在菜单中使用的html。如果你购买的东西有问题,可能更容易联系你的供应商阻力。只是想知道,为什么有这么多教程和免费的教程,人们会购买一个向下搜索菜单?例如,如果你想让我们更好地帮助你,请制作一个JSFIDLE。感谢这个技巧kiko lp。不幸的是,即使我在页面加载后通过JS隐藏菜单,菜单仍然会检测到它是隐藏的,并给自己一个高度值为0。我不知道有什么方法可以延迟此脚本,以便首先设置菜单高度。我已为此问题创建了一个JSFIDLE。请检查!键入错误是在将html传输到此页面时出现的,但您的权利是,它确实可以正常工作。问题是,购买的插件使用的jquery要求自己在首先是为了正确计算它的高度。我已经为这个问题创建了一个JSFIDLE。看看吧!谢谢你的想法。我正在尝试使用slideToggle切换菜单,这样我就可以在移动浏览器上隐藏菜单。这意味着我还需要通过切换来更改高度尺寸。我已经创建了一个JSFIDLE来显示这里我要说的是:我已经为这个问题创建了一个JSFIDLE。看看它!你能告诉我你在我的JSFIDLE中的意思吗?谢谢。我对js/jquery$(文档)非常熟悉。准备好了(函数(){$((“div.drill-down-wrapper”).hide();var$drillDown=$(“#drillDown”);…(不管你的代码是什么)});完美。加载菜单,然后隐藏。切换重新显示。谢谢。
$('#id').style = "display: none;"