0

頭を動かそうとしているボタンに問題がありました。

基本的に2つのボタンがあります。ボタン #1 はサイド バーにあり、次のスタイルの 2 つの状態があります。

.Bt, .BtT {
height: 129px;
cursor: pointer;
background: url('../images/sideBtns.png') no-repeat;  
}

.BtT{
background-position: 0 -129px;
}

それから私のHTMLで<div id="closeRefs" class="Bt">(これは横のものです)そして2番目のものは

<a class="openRef" ...> ... </a>

次に、私のjavaScriptは次のとおりです

    $("#closeRefs").click(function () {//SIDE BUTTON
        $(".Bt").toggleClass('BtT');
    });

    $(".openRef").click(function () {//REFERENCES OPEN
        $(".Bt").removeClass('Bt').addClass('BtT');
    });

これは次のように機能します: サイド ボタンは の間で切り替わります。background-positionリファレンス ボタンは、クリックされたサイド ボタンをオンにすることもできます (サイド ボタンがオンになっていない場合)。参照ボタンをクリックしても問題が解決せず、サイドボタンがオンになり、サイドボタンをクリックしてもオフになりません。

4

2 に答える 2

1

Btをクリックしたときにクラスを削除していることが原因である可能性がありますopenRef。したがって、クリックするcloseRefsと、クラスを持つ要素はありませんBt

var $bt = $(".Bt");
$("#closeRefs").click(function () {//SIDE BUTTON
    $bt.toggleClass('BtT');
});

$(".openRef").click(function () {//REFERENCES OPEN
    $bt.removeClass('Bt').addClass('BtT');
});
于 2013-05-24T03:53:24.260 に答える
0

私があなたを正しく理解していれば、これはあなたがやろうとしていることです: http://jsfiddle.net/KQ7EQ/

Arun が言ったことは正しいです。Btターゲット div を削除して、戻るものを何も残していません。また、「リセット位置」を設定していません。

例: 削除するBlTと、背景に最初の位置に戻るように指示するものは何もありません。

追加する場合:

.Bt{
    background-position: 0 0;
}

背景画像にその位置をリセットするように指示します。

Blまた、 がアクティブなときに離れたい場合BlT、またはその逆の場合は、次を使用する必要があります。

$bt.toggleClass('Bt').toggleClass('BlT');

Bt最初からそこにあるので、追加すると削除されBlT、再度呼び出すと逆になります。

于 2013-05-24T04:32:07.910 に答える