因此,用户点击某个内容然后从左侧弹出一个div。
然后我通过cookie保存div是否在JavaScript中“可见”或“隐藏”。
$('#click').click(function()
{
save_cookie('div', 'visible');
$('.class').animate({'margin-right': '-20px'});
return false;
});
if(get_cookie('div') != null)
{
if(get_cookie('div') == 'visible')
{
$('.class').css({'margin-right': '-20px'});
}
else
{
$('.class').css({'margin-right': '0px'});
}
}
因此,如果用户决定转到其他页面,我会检查是否应该显示div。
我遇到的问题是,当用户转到另一页时,div会“闪烁”一秒钟。我知道这是因为加载HTML,CSS和JavaScript需要几秒钟。
但是我想知道是否有更好的技术来解决这个问题?所以它不会“眨眼”。
顺便说一句,我也尝试将JavaScript移到head
(从底部),但这也没有改变任何东西。 :/
答案 0 :(得分:1)
一个简单的解决方案可能是在css中应用display:none
作为div的默认值,然后相应地从jQuery更改它。
答案 1 :(得分:0)
是你的javascript里面的document.ready?它不应该是真的,如果你想避免闪烁的话。我只是在它自己的小脚本中将它添加到头部并使用它来向html元素添加一个类。然后设置div的样式,以便在该类存在时显示。
答案 2 :(得分:0)
您接近正确的代码方法 - 您可能想要改变的是在DIV可见的情况下启动页面,然后为其缩回动画。这暗示用户可以显示其他内容(您的div)并使其正确加载。
答案 3 :(得分:0)
您可以使用与主浏览的浏览器窗口大小相同的iFrame,并在iFrame外部进行叠加效果。