jQuery:根据window.location.hash为DIV分配“活动”类

时间:2014-08-21 08:01:55

标签: jquery html

首先发布在这里,请耐心等待。

我正在编写一个jQuery函数,它将一个背景图像(bgImage)分配给div(#title),并给另一个div作为活动类,然后在该活动div中淡出,具体取决于{ {1}}返回。 window.location.hash的{​​{1}}工作正常,但是当我将div名称分配给稍后赋予活动类的变量时,所有div都被分配了活动类而不是一个。结果,当我调用bgImage函数时,它们都会淡入。这是我的代码:

#title

提前多多感谢。我对jQuery很新,并且正在学习。

更新:以下是相关的HTML代码。

panelIn

更新2:

这是现在完美运行的新jQuery代码。

function logoChange() {
switch (window.location.hash) {
    case '#art':
        var bgImage = 'url(assets/logo__ART.svg)';
        var activeP = '#art';
        break;

    case '#about':
        var bgImage = 'url(assets/logo__ABOUT.svg)';
        var activeP = '#about';
        break;

    case '#contact':
        var bgImage = 'url(assets/logo__CONTACT.svg)';
        var activeP = '#contact';
        break;

    default:
        var bgImage = 'url(assets/logo__DESIGN.svg)';
        var activeP = '#design';
        break;
       };
console.log(window.location.hash);
$('#title').css('background-image', bgImage);
$(activeP).addClass('active');
};

function panelOut() {
    if (!$('.panel').hasClass('active')) {
        $('.panel').transition({opacity: 0});
    }
}

function panelIn() {
    if ($('.panel').hasClass('active')) {
        $('.panel').transition({opacity: 1});
    }
}

1 个答案:

答案 0 :(得分:0)

你的功能应该是

function panelIn() {
    $('.panel.active').transition({opacity: 1});
}

与panelOut相同