2014-11-17 3 views
0

내 웹 사이트에서 jQuery와 쿠키를 사용하려고하지만 아무 일도 일어나지 않습니다. 이 경우하지 않을 경우, 새로운 하나를 만들어, 그 값을 사용 - 나는 쿠키가 설정되어 있는지 확인하려고jQuery 쿠키가 전혀 작동하지 않습니다

<script type='text/javascript' src='http://code.jquery.com/jquery-1.8.3.js'></script> 
<script src="jquery.cookie.js"></script> 
<script src="scripts.js"></script> 

:

내 HTML입니다. 이것은 내 jQuery입니다 :

$(window).load(function(){ 

/* Using jQuery cookie plugin: https://github.com/carhartl/jquery-cookie */ 
/* Check value of cookies */ 

var light = $.cookie("light-color"); 
var dark = $.cookie("dark-color"); 

if (light == null) { 
    $.cookie("light-color", "#0095FF"); 
    var light = $.cookie("light-color"); 
} 
if (dark == null) { 
    $.cookie("dark-color", "#0068B3"); 
    var dark = $.cookie("dark-color"); 
} 

changeColor(light, dark); 

function changeColor(l, d) { 

    $.cookie('light-color', l); 
    $.cookie('dark-color', d); 

    $('.site_color').css({"color":l}); 
    $('#nav #on').css({"color":d}); 

} 

}); 

그러나 밝기와 어두움이 설정되지 않기 때문에 쿠키가 설정되지 않습니다. 무슨 일있어?!

+0

편집 ....... – user2397282

+1

를 참조하십시오 참고로, ID는 문서 컨텍스트에서 고유해야합니다. –

+0

잠깐, 사용중인 관련 코드를 게시하지 않으면 어떻게 도와 드릴 수 있습니까? 사용중인 코드는 무엇입니까? 관련 HTML 마크 업도 게시하십시오. 예상 : http://jsfiddle.net/631cyqre/ –

답변

2

변수 당 한 번만 var을 사용해야합니다. null 확인에서 제거하십시오. null 검사에서이 변수를 사용하면 변수의 범위는 바깥 쪽 변수가 변경되지 않는다는 것을 의미합니다.

$의 외부 changeColor 기능을 이동 (함수() {} 블록.

브라우저에서 쿠키를 사용하도록 설정해야합니다.

$(function(){ 

    /* Using jQuery cookie plugin: https://github.com/carhartl/jquery-cookie */ 
    /* Check value of cookies */ 

    var light = $.cookie("light-color"); 
    var dark = $.cookie("dark-color"); 

    if (light == null) { 
     $.cookie("light-color", "#0095FF"); 
     light = $.cookie("light-color"); 
    } 
    if (dark == null) { 
     $.cookie("dark-color", "#0068B3"); 
     dark = $.cookie("dark-color"); 
    } 

    changeColor(light, dark); 
}); 

function changeColor(l, d) { 
    $.cookie('light-color', l); 
    $.cookie('dark-color', d); 

    $('.site_color').css({"color":l}); 
    $('#nav #on').css({"color":l}); 
    $('#menu_dropdown #on').css({"color":d}); 
} 
+0

여전히 작동하지 않습니까? – user2397282

+0

changeColor 함수를 외부로 이동해 봅니다. 준비 블록의 그것은 나를 위해 작동합니다. – mts7

+0

시도해 보았지만 해결되지는 않습니다. 그것은 여전히 ​​밝고 어두운 변수 또는 쿠키를 설정하는 것 같지 않습니다 ?? – user2397282

관련 문제