Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 页面刷新时导航闪烁?_Jquery_Css_Slide_Nav - Fatal编程技术网

Jquery 页面刷新时导航闪烁?

Jquery 页面刷新时导航闪烁?,jquery,css,slide,nav,Jquery,Css,Slide,Nav,请看这把小提琴: 刷新页面时,隐藏的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)

请看这把小提琴:

刷新页面时,隐藏的
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);
    });
});

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


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

DOMReady
函数的第一行更改为
hide()
,而不是
slideUp()

只需添加一个零:

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

变化

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


这将停止您看到的初始向上滑动闪烁那是你的问题。。你把它装上了。你可以一开始就把它设置为显示:无。我只是想发布一个小提琴做同样的事情+1是-尽管如前所述,如果使用
hide()
,在
jQuery
运行之前,您仍然可能会看到闪烁(如果您快速连续多次刷新页面)。@explosion pills
display:none
对于不希望隐藏元素的屏幕阅读器来说并不理想。
$('li ul').slideUp();
$('li ul').hide();