Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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
Javascript 饼干滞后_Javascript_Cookies_Sidebar_Lag - Fatal编程技术网

Javascript 饼干滞后

Javascript 饼干滞后,javascript,cookies,sidebar,lag,Javascript,Cookies,Sidebar,Lag,我最近询问了如何将cookies添加到侧边栏菜单中,并得到了神奇Trincot的帮助。找到并编辑了另一个代码以使其正常工作,现在该代码的问题是cookies延迟-如果你关闭侧边栏并移动到另一个页面,它会显示一秒钟,然后消失,并且考虑到整个网站的内容都会随之移动,这是令人难以置信的恼人。我想我在寻找前一个问题的解决方案时发现了一个类似的问题,但我记不起我搜索了什么,也无法重新定位它。我认为错误在于代码的重复,但我需要能够从两个位置打开和关闭它。有什么想法吗 <script type='tex

我最近询问了如何将cookies添加到侧边栏菜单中,并得到了神奇Trincot的帮助。找到并编辑了另一个代码以使其正常工作,现在该代码的问题是cookies延迟-如果你关闭侧边栏并移动到另一个页面,它会显示一秒钟,然后消失,并且考虑到整个网站的内容都会随之移动,这是令人难以置信的恼人。我想我在寻找前一个问题的解决方案时发现了一个类似的问题,但我记不起我搜索了什么,也无法重新定位它。我认为错误在于代码的重复,但我需要能够从两个位置打开和关闭它。有什么想法吗

<script type='text/javascript' src='http://yourjavascript.com/1211131136/jquery.cookie.js'></script>
<script type='text/javascript'>
/**code written by kismet of RPG-Directory.com**/


$(function(){
var website = 'SKY';
var cookie1 = website+'cbox';


if($.cookie(cookie1) === 'on' ||
$.cookie(cookie1) === null){
$('.menu').animate({
left: "-240px"
}, 200);

$('body').animate({
left: "0px"
}, 200); }

else {
$('.menu').animate({
left: "0px"
}, 200);

$('body').animate({
left: "240px"
}, 200); }


$('.icon-close').click(function(){

$.cookie(cookie1, 'on');

$('.menu').animate({
left: "-240px"
}, 200);

$('body').animate({
left: "0px"
}, 200);

});


$('.icon-menu').click(function(){

if($.cookie(cookie1) === 'on' ||
$.cookie(cookie1) === null){

$.cookie(cookie1, 'off');

$('.menu').animate({
left: "0px"
}, 200);

$('body').animate({
left: "240px"
}, 200); }

else {

$.cookie(cookie1, 'on');

$('.menu').animate({
left: "-240px"
}, 200);

$('body').animate({
left: "0px"
}, 200); }

});
});
</script>

/**由RPG-Directory.com的kismet编写的代码**/
$(函数(){
var网站=‘天空’;
var cookie1=网站+‘cbox’;
如果($.cookie(cookie1)=='on'||
$.cookie(cookie1)==null){
$('.menu')。设置动画({
左:“-240px”
}, 200);
$('body')。设置动画({
左:“0px”
}, 200); }
否则{
$('.menu')。设置动画({
左:“0px”
}, 200);
$('body')。设置动画({
左:“240px”
}, 200); }
$('.icon close')。单击(函数(){
$.cookie(cookie1,“on”);
$('.menu')。设置动画({
左:“-240px”
}, 200);
$('body')。设置动画({
左:“0px”
}, 200);
});
$('.icon-menu')。单击(函数(){
如果($.cookie(cookie1)=='on'||
$.cookie(cookie1)==null){
$.cookie(cookie1,“off”);
$('.menu')。设置动画({
左:“0px”
}, 200);
$('body')。设置动画({
左:“240px”
}, 200); }
否则{
$.cookie(cookie1,“on”);
$('.menu')。设置动画({
左:“-240px”
}, 200);
$('body')。设置动画({
左:“0px”
}, 200); }
});
});

非常感谢

精简了代码,删除了一些不必要的元素,但尽管花了几个小时,我还是没有找到解决方案。在脚本检查cookie值之前,页面加载侧边栏的“默认”状态是什么?很可能没有“cookie延迟”-如果页面加载时侧栏可见,并且加载完成后才被脚本隐藏,那么这就是您看到的“延迟”。如果切换到下一页时不希望侧栏出现任何动画,然后,您应该编写一段运行较早的代码,并根据cookie值向
html
元素添加一个类,然后在CSS中设置基于该类隐藏/显示侧栏的规则。