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 pillsdisplay:none
对于不希望隐藏元素的屏幕阅读器来说并不理想。
$('li ul').slideUp();
$('li ul').hide();