我目前正在构建一个动态菜单栏(垂直和水平)。在默认位置它的垂直。用户可以选择显示水平位置并隐藏和垂直。我目前正在用javascript / jquery做这件事。为了使菜单栏保持在水平位置,我使用cookie保持计数。问题是当我在javascript中使用click功能时我想改变cookie的值。我不知道该怎么做。任何人都可以帮助我。所有的帮助将不胜感激。
<?php
setcookie('menu', 1, time()+(86400));
?>
$(document).ready(function() {
$('#temp').hide();
if(<?php echo $_COOKIE['menu'];?> == 1){
$('#topmenu').hide();
$('#sidemenu').floating().dropShadow().floating();
$('#sidemenu_bottom').hide();
}else{
$('#topmenu').show();
$('#topmenu').dropShadow();
$('#sidemenu').hide();
$('#sidemenu').removeShadow();
}
$('#move').click(function(){
$('#sidemenu').hide("drop",{},2000);
$('#sidemenu').removeShadow();
$('#topmenu').show();
$('#topmenu').dropShadow();
$('#sidemenu_bottom').show();
$('#sidemenu_bottom').floating().dropShadow().floating();
});
});
这是我到目前为止,默认cookie和javascript一样。它只是为了改变现在的cookie值。
感谢。
这是我到目前为止所做的事情;
function set_cookie ( name, value, exp_y, exp_m, exp_d){
var cookie_string = name + "=" + escape ( value );
if ( exp_y ){
var expires = new Date ( exp_y, exp_m, exp_d );
cookie_string += "; expires=" + expires.toGMTString();
}
document.cookie = cookie_string;
}
var x = document.cookie;
if(x == "menu=1"){
$('#topmenu').show();
$('#topmenu').dropShadow();
}else{
$('#topmenu').hide();
$('#sidemenu').floating().dropShadow().floating();
$('#sidemenu_bottom').hide();
}
$('#move').click(function(){
set_cookie ( "menu", "1", 2012, 01, 15 );
$('#sidemenu').hide("drop",{},2000);
$('#sidemenu').removeShadow();
$('#topmenu').show();
$('#topmenu').dropShadow();
$('#sidemenu_bottom').show();
$('#sidemenu_bottom').floating().dropShadow().floating();
});
然而,我仍然遇到问题。它没有做我想做的事。
问候。
答案 0 :(得分:2)
忘了php。检查一下: http://www.w3schools.com/jS/js_cookies.asp
答案 1 :(得分:1)
在JS(jQuery)中你可以做到这一点..所以不要在JS中用PHP标签搞乱你的代码
$.cookie("example", "foo");
alert( $.cookie("example") );