切换菜单选择的问题

时间:2012-08-15 09:50:39

标签: jquery html

我有一个菜单,当我们点击它的主要div时,在该菜单中,它的颜色会发生变化,当我们再次单击时,它仍保持相同的颜色。

现在我需要的是,在这个切换菜单中,当我们点击它以便它的颜色发生变化但是当我们再次点击这样它会看起来像其他父母div。

这是我的fiddle。请检查一下。

这是我的剧本。

$(document).ready(function() {

$(".widget2").hide();
$(".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;
}

$(".box2").hover(

function() {
    $(this).addClass("hover");
}, function() {
    $(this).removeClass("hover");
});

var widget2 = $(".widget2");
var box2 = $(".box2");
if (getCookie('box2id') || getCookie('box1text')) {
    var text = getCookie('box1text');
    var id = getCookie('box2id');
    $('#' + id).addClass("active");
    $('#' + id).next().slideDown(600, function() {
        $('.box:contains(' + text + ')').next('.inner').slideDown(500);
    });
} else {
    $(".widget2").hide();
    $(".inner").hide();
}

box2.click(

function() {
    $(this).next(widget2).slideToggle(200);
    $(".widget2").not($(this).next(widget2)).stop(true, false).slideUp();       //Hide others divs   
    var box2ID = $(this).attr('id');
    $(".box2").removeClass("active");
    $(this).removeClass("hover").addClass("active");
    setCookie('box2id', box2ID);
});

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

});​

1 个答案:

答案 0 :(得分:0)

这个问题已经解决了。

此示例工作正常 here 。请检查我的链接。