2014-03-24 2 views
0

이 좋아, 그래서 내 코드는 지금까지 있습니다 : 쿠키 키가 이미 설정되어있는 경우jQuery를 쿠키 키 값

나는 또한 확인해야 할
$(document).ready(function() { 

    // setup the initial display on page load 
var menu_state = $.cookie('atd_gridlist'); 



    // listen for the clicks 
    $('.gridselect').click(function() { 
    $.cookie('atd_gridlist', 'grid'); // update (or set) the cookie 
    $(".grid").css("display", "block"); 
    $(".list").css("display", "none"); 
    }); 
    $('.listselect').click(function() { 
    $.cookie('atd_gridlist', 'list'); // update (or set) the cookie 
    $(".grid").css("display", "none"); 
    $(".list").css("display", "block"); 
    }); 

}); 

, 나는 case 문이 작동 것이라고 생각 하지만 어떻게하면 쿠키를 atd_gridlist 키 값을 쿠키를 읽을 수 있는지 모르겠습니다 ...

gridselect 경우 내가 그리드 div를 표시하고 목록 div를 숨길 필요가있다. 목록 div 및 격자 div 숨기기, 전혀 설정되어 있지 않으면 기본적으로로드 된 눈금 div 원하는 목록을 숨 깁니다. 또한 7 일마다 해당 div를 만료시키고 싶습니다.

올바른 방향으로 도움을 주시면 감사하겠습니다. 감사!

답변

0

이런 일이 발생합니까?

$(function() {  
    var grid = $('.grid'); 
    var list = $('.list');  
    var stateCookie = 'atd_gridlist'; 

    var SetStateCookie = function(value) { 
     $.cookie(stateCookie, value, { expires: 7, path: '/' }); 
    } 

    var ShowByState = function(state) { 
     state = state || 'grid'; 
     SetStateCookie(state); 
     if ('grid' === state) { 
      grid.show(); 
      list.hide();    
     } else if ('list' === state) { 
      grid.hide(); 
      list.show(); 
     } 
    } 

    $('.gridselect').click(function() { 
     ShowByState('grid'); 
    }); 

    $('.listselect').click(function() { 
     ShowByState('list'); 
    }); 

    ShowByState($.cookie(stateCookie)); 
}); 
+0

와우, 완벽하게 작동했습니다. 나는 내가가는 동안 배우고 싶기 때문에 정확하게 대답을 찾지 못했다. 그러나 나는 불평하지 않고있다! 정말 고마워! – BWalt302

+0

환영합니다. 당신은 여전히 ​​그것을 배우기 위해 뭔가로 사용할 수 있습니다. 코드를 함수로 옮겨서 반복하지 않으므로 기본 상태 인 '그리드'가 1 개 더 추가되었습니다. D –

+0

대답 승인을 고려하십시오. D –