页面刷新时导航闪烁?

时间:2013-12-03 16:02:08

标签: jquery css slide nav

请看这个小提琴:http://jsfiddle.net/3Sazd/

刷新页面时隐藏的ul会在隐藏之前闪烁。我怎么能阻止这种情况发生?

$(document).ready(function () {
    $('li ul').slideUp();

    $('.no-js li a').on("click", function () {
        $('ul ul').slideUp(400);
        if($(this).siblings('ul').is(":visible"))
            $(this).siblings('ul').slideUp(400);
        else
            $(this).siblings('ul').slideDown(400);
    });
});

4 个答案:

答案 0 :(得分:2)

您可以使用display: none最初隐藏元素。

http://jsfiddle.net/3Sazd/1/

编辑:正如其他人所建议的那样,您最初也可以使用JavaScript隐藏元素。如果在禁用JavaScript时需要显示元素,那么这可能是个更好的主意。但是,根据页面加载的时间长短,它们可能仍会闪烁一点。

答案 1 :(得分:1)

只需添加零:

$('li ul').slideUp(0);

<强> jsFiddle example

答案 2 :(得分:0)

DOMReady功能的第一行改为hide()而不是slideUp()

$('li ul').hide();

jsFiddle Demo

答案 3 :(得分:0)

更改

$('li ul').slideUp();

$('li ul').hide();

停止你看到的初始滑动闪烁