2012-08-04 2 views
0

하나의 축소 메뉴가 있습니다. 쿠키를 사용하여 값을 저장한다는 점에서 처음에는 클래스를 사용했지만 올바르게 작동하지 않아 이드와 함께 사용했습니다.선택한 div id와 쿠키를 비교하는 방법

이드에서 이드가 나타나면 다음 div가 표시 될 것입니다.

이 내 Fiddle

$(document).ready(function() { 

function getCookie(c_name) { 
    var i, x, y, ARRcookies = document.cookie.split(";"); 
    for (i = 0; i < ARRcookies.length; i++) { 
     x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("=")); 
     y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1); 
     x = x.replace(/^\s+|\s+$/g, ""); 
     if (x == c_name) { 
      return unescape(y); 
     } 
    } 
} 

function setCookie(c_name, value, exdays) { 
    var exdate = new Date(); 
    exdate.setDate(exdate.getDate() + exdays); 
    var c_value = escape(value) + ((exdays === null) ? "" : "; expires=" + exdate.toUTCString()); 
    document.cookie = c_name + "=" + c_value; 
} 

var widget2 = $(".widget2"); 
var box2 = $(".box2"); 
if (getCookie('box2cooki')) { 
    // alert(getCookie('box2cooki')); 
    var id = getCookie('box2cooki'); 
    id = $(".box2").attr('id'); 
    alert(id); 
    //alert(Element); 
    //alert(box2ID); 
    //$(".box2").next(".widget2").slideDown(200); 
    } 
else { 
    alert("hiiiiiii"); 
} 

widget2.hide(); 
box2.click(function() { 
    $(this).next(widget2).slideToggle(200); 
    var box2ID = $(this).attr('id'); 
    setCookie('box2cooki', box2ID); 
    //alert(box2ID); 
    }); 
    $(".inner").hide(); 
    $(".box").click(function() { 
     $(this).next(".inner").slideToggle(200); 
    }); 

    //alert(box2ID); 
}); 
<div class="box2" id="1"><h3>Basketball</h3></div> 
<div class="widget2" style="display: block; "> 
<div class="widget"><div class="box"><h3>Australia</h3></div> 
<div class="inner" style="display: block; "> 
<ul class="leagues"> 
<li class="even"><a href="#" class="league-145">Australian NBL</a></li> 
</ul><div class="clear-both"></div> 
</div> 
    </div> 
</div><div class="box2" id="2"><h3>Tennis</h3></div> 
<div class="widget2" style="display: block; "><div class="widget"><div class="box"> <h3>Australia</h3></div> 
<div class="inner" style="display: block; "> 
<ul class="leagues"> 
<li class="even"><a href="#" class="league-145">Australian Open</a></li> 
</ul> 
<div class="clear-both"></div> 
</div></div> 
</div> 

+0

jQuery 플러그인을 권장합니다 (예 : https://github.com/carhartl/jquery-cookie/). 코드 관리와 이해가 훨씬 쉬워집니다. – Undefined

+0

빠른 재생을 부탁드립니다. 이미 포함되어있다. –

답변

0

내가 해결이 문제이며 라이브 데모 here을 부여합니다.

관련 문제