Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.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 修改要根据用户COOKIE运行的函数_Javascript_Php_Ajax - Fatal编程技术网

Javascript 修改要根据用户COOKIE运行的函数

Javascript 修改要根据用户COOKIE运行的函数,javascript,php,ajax,Javascript,Php,Ajax,我想根据两个主题(灯光或对比度)之间的用户$\u COOKIE['theme'],修改要首先运行的以下函数 例如,我已经有了这个输出 $_COOKIE['theme'] = contrast 如何修改它以配合我的想法 <script type="text/javascript"> function setTypeLight(type) { $('body').removeClass('black'); $('.wtop .account li.menu .menu_

我想根据两个主题(灯光或对比度)之间的用户$\u COOKIE['theme'],修改要首先运行的以下函数

例如,我已经有了这个输出

$_COOKIE['theme'] = contrast
如何修改它以配合我的想法

<script type="text/javascript">
function setTypeLight(type)
{
    $('body').removeClass('black');
    $('.wtop .account li.menu .menu_inner a.typelight').removeClass('light contrast');
    $('.wtop .account li.menu ul li').removeClass('act');

    switch (type)
    {
        case 'light':
            $('.wtop .account li.menu .menu_inner a.typelight').addClass('light');
            $('.wtop .account li.menu ul a.typelight.light').parent('li').addClass('act');
        break;

        case 'contrast':
            $('body').addClass('black');
            $('.wtop .account li.menu .menu_inner a.typelight').addClass('contrast');
            $('.wtop .account li.menu ul a.typelight.contrast').parent('li').addClass('act');
        break;
    }

    ajaxLoad({id: '#', url: '/top/ajax.php?action=param&param=typelight&typelight=' + type + '&sessid=9e6c'}, {nprogress: 'N', type: 'null'});
}

</script>


<li><a href="?theme=light" onClick="setTypeLight('light'); return false;" class="typelight light">light</a></li>

<li><a href="?theme=contrast" onClick="setTypeLight('contrast'); return false;" class="typelight contrast">contrast</a></li>

函数setTypeLight(类型)
{
$('body').removeClass('black');
$('.wtop.account li.menu.menu_inner a.typelight')。removeClass('light contrast');
$('.wtop.account li.menu ul li').removeClass('act');
开关(类型)
{
案件“轻”:
$('.wtop.account li.menu.menu_inner a.typelight').addClass('light');
$('.wtop.account li.menu ul a.typelight.light').parent('li').addClass('act');
打破
案例“对比”:
$('body').addClass('black');
$('.wtop.account li.menu.menu_inner a.typelight').addClass('contrast');
$('.wtop.account li.menu ul a.typelight.contrast').parent('li').addClass('act');
打破
}
ajaxLoad({id:'#',url:'/top/ajax.php?action=param¶m=typelight&typelight='+type+'&sessid=9e6c'},{nprogress:'N',type:'null'});
}

  • 只需调用获取cookie并在启动时调用函数即可

    function getCookie(cname) {
        var name = cname + "=";
        var decodedCookie = decodeURIComponent(document.cookie);
        var ca = decodedCookie.split(';');
        for(var i = 0; i <ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ') {
                c = c.substring(1);
            }
            if (c.indexOf(name) == 0) {
                return c.substring(name.length, c.length);
            }
        }
        return "";
    }
    
    $(function(){
        setTypeLight(getCookie('theme'));
    });
    
    函数getCookie(cname){
    变量名称=cname+“=”;
    var decodedCookie=decodeURIComponent(document.cookie);
    var ca=decodedCookie.split(“;”);
    
    对于(var i=0;i为什么要标记
    Java
    !!在文档准备就绪时执行它,并将cookie值作为参数传递。在两个css文件之间动态切换可能更容易:因为OP已经在使用jQuery…
    setTypeLight($.cookie('theme'));
    …不需要你的cookie切割器:是的,但就我所知,$.cookie是一个名为jquery cookie的插件?或者它现在是jquery核心的一部分?@JaromandaXoh…对不起,这是一个插件-我今天的jquery很糟糕!!