0

ページの更新後にその状態を保存する必要があるトグル メニューを 1 つ作成しました。

そのメニューには 3 つのステップがあります。最初にスポーツを選択します国を選択した後。そして最後にリーグを選択します

現在、このリーグには <li>with<a>タグがあります。だから私がまさに望んでいるのは、誰かが私のliタグを選択して、リダイレクト後にliがオレンジ色になるようにすることです。

しかし、ユーザーがそのliを選択すると、私のページがリダイレクトされ、すべてのliが同じ色に見えます。

これが私のFiddleです。

これが私のスクリプトです。

$(document).ready(function() {
 var $jq = jQuery.noConflict();
 $jq(document).ready(function(){
 $jq(".widget2").hide();
 $jq(".inner").hide();

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 = $jq(".widget2");
var box2 = $jq(".box2");
if (getCookie('box2id') || getCookie('box1text')) {
    var text = getCookie('box1text');        
    var id = getCookie('box2id');
     $jq('#' + id).addClass("disable");
     $jq('#' + id).next().slideDown(600, function() {  
     $jq('.box:contains('+text+')').next('.inner').slideDown(500);
     jq('.box:contains('+text+')').next('.inner').css('color', 'green');    
    });
} else {
    $jq(".widget2").hide();
    $jq(".inner").hide();
}

box2.click(function() {
    $jq(this).next(widget2).slideToggle(200);
    $jq(".widget2").not($jq(this).next(widget2)).stop(true, false).slideUp();
     var box2ID = $jq(this).attr('id');
     $jq(this).add(".disable").toggleClass("disable");
     setCookie('box2id', box2ID);        
  });

$jq(".box").click(function() {
    $jq(this).next(".inner").slideToggle(200);
    var box1TX = $jq(this).text();
    setCookie('box1text', box1TX);         
});
});

});​
4

1 に答える 1

1

最初に JS なしでビルドしてから、JS を追加し、pushState マジックを使用して、それをサポートするブラウザーの URL を正しくマップします。

于 2012-09-06T11:20:11.720 に答える