Динамически манипулировать php cookie с помощью javascript / jquery - PullRequest
0 голосов
/ 01 апреля 2010

Я сейчас строю динамическую строку меню (вертикальную и горизонтальную). в положении по умолчанию его вертикаль. У пользователя есть возможность показать горизонтальное положение и скрыть и вертикальное. В настоящее время я делаю это с помощью javascript / jquery. чтобы держать строку меню в горизонтальном положении, я веду счет с cookie. проблема в том, что когда я использую функцию щелчка в javascript, я хочу изменить значение 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 ]

2 голосов
/ 01 апреля 2010

забудьте про php. Проверь это: http://www.w3schools.com/jS/js_cookies.asp

1 голос
/ 14 апреля 2010

В JS (jQuery) вы можете сделать это .. так что не путайте ваш код с тегами PHP в JS

$.cookie("example", "foo");
alert( $.cookie("example") );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...