使用javascript / jquery动态操作php cookie

时间:2010-04-01 00:31:32

标签: php javascript jquery cookies

我目前正在构建一个动态菜单栏(垂直和水平)。在默认位置它的垂直。用户可以选择显示水平位置并隐藏和垂直。我目前正在用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();
            });
然而,我仍然遇到问题。它没有做我想做的事。

问候。

2 个答案:

答案 0 :(得分:2)

忘了php。检查一下: http://www.w3schools.com/jS/js_cookies.asp

答案 1 :(得分:1)

在JS(jQuery)中你可以做到这一点..所以不要在JS中用PHP标签搞乱你的代码

$.cookie("example", "foo");
alert( $.cookie("example") );