1

我正在测试新的菜单代码,它的一个问题是它会加载所有内容,然后在所有加载完成后跳转到位。

所以我正在尝试隐藏它,直到文档准备好然后显示它

所以,CSS来隐藏它:

#mega-menu-1 {
font: normal 13px Arial, sans-serif; 
list-style: none; 
position: relative; 
padding: 0; 
margin: 0;
margin-top:13px;
display: none;
}

然后我在页面末尾调用jquery来加载菜单,然后将显示更改为阻塞,但菜单不显示

这是我正在尝试的jquery:

<script type="text/javascript">
    $(document).ready(function($){
        $('#mega-menu-1').dcMegaMenu({
            rowItems: '2',
            event: 'click',
            fullWidth: false
        });
        $('#mega-menu-1').css('display') == 'block';
    });
</script>

这样做的正确方法是什么?

4

5 回答 5

7

如果您尝试设置display属性,那么您的 jQuery 函数语法错误css(),您需要css( propertyName , value)设置属性值。

改变

$('#mega-menu-1').css('display') == 'block';

$('#mega-menu-1').css('display', 'block') ;

或者你也可以调用 jQueryshow()方法来做同样的事情。

$('#mega-menu-1').show();
于 2012-12-28T08:57:35.613 回答
1

你应该使用:

<script type="text/javascript">
    $(document).ready(function($){
        $('#mega-menu-1').dcMegaMenu({
            rowItems: '2',
            event: 'click',
            fullWidth: false
        });
        $('#mega-menu-1').show();
    });
</script>

参考网站

于 2012-12-28T09:03:21.467 回答
1

我认为问题是刚刚从外部源(JS 文件)加载的“dcMegaMenu”插件。试试这个,它在另一个项目中帮助了我一次:

<script type="text/javascript">
    $(document).ready(function($){
        $('#mega-menu-1').dcMegaMenu({
            rowItems: '2',
            event: 'click',
            fullWidth: false
        });
        $(document).find('#mega-menu-1').css({'display' : 'block'});
    });
</script>
于 2012-12-28T09:13:47.053 回答
0

我为您制作了一个jsFiddle 测试页面,您的菜单会在其中显示。

显示值更改的小更新,但我也注释掉了您的 .dcMegaMenu 语句(因为您没有提供任何有关它的信息)。如果你仍然有这个问题,可能是因为它在这个问题上失败了。

$('#mega-menu-1').css('display', 'block');

希望这可以帮助。

于 2012-12-28T09:09:43.007 回答
-1

它是 jQuery 语法,而不是 JavaScript

代替:

$('#mega-menu-1').css('display') == 'block';

和:

$('#mega-menu-1').css('display', 'block');

如果你想使用 getter 和 setter:

放: $('#mega-menu-1').css('display', 'block');

得到: $('#mega-menu-1').css('display');

相比: $('#mega-menu-1').css('display') == "block"

于 2012-12-28T08:59:25.597 回答