2012-03-13 18 views
0

私はちょうどjavascript/ajax/jQueryでグリップを取得しようとしていますので、私のウェブサイトのチケットシステムを構築してください。Javascriptを変更するクラスonclick

とにかく、ページ上部に表があります。

<table align="center" class="thinline" width="600" border="1" cellpadding="2" bordercolor="black"> 
    <tr class="subtopic" style="font-size: 15px;"> 
     <td><a onClick="javascript: ShowNewTickets()">New Tickets</a></td> 
     <td><a onClick="javascript: ShowYourTickets()">Your Tickets</a></td> 
     <td><a onClick="javascript: ShowPuplicTickets()">Public Tickets</a></td> 
    </tr> 
</table> 

ページが読み込まれたら、「新規チケット」にクラスを「選択済み」にします。それらが選択されていないメニューの上にマウスを置くと、強調表示された効果があります。別のリンクをクリックすると、「選択された」クラスが他のTDから削除され、新しいTDに追加されます。

私はハイライト効果を行うためにonmouseoverとonmouseoutを試しましたが、すでに強調表示されているリンクになると、それは崩れます。

私もしようと試みてきた、

$('.off').live('mouseenter', function() { 
    if ($(this).hasClass('selected') == false) { 
     $(this).removeClass('off').addClass('highlighted'); 
    } 
}); 

しかし、それが強調表示さTDを保持します。

読んでいただきありがとうございます。

+0

CSSでホバーの色を変更することができます。また、あなたの質問はタイトルに合わないようです。とにかく:要素を残すたびに、ハイライトされたクラスを削除する必要があります。 –

+0

これはCSSの問題です。 – Jivings

+0

ええ、それはあなたが 'a'要素を使っているという事実を考慮して、CSSでうまく解決されるでしょう。 ':hover'セレクタはすべてのブラウザ(IE6も)で動作します。 – Shef

答えて

2

Sergio Tulentsevが述べたように、ハイライト効果を処理するには、疑似クラス:hoverを使用する必要があります。私は.liveまたは.delegate新しいjQueryの機能.on()の代わりに、.clickを、使用しています

$('.subtopic').on('click', 'a', function(e) { 
    $('.subtopic a').removeClass('selected'); // remove the class from all the links 
    $(this).addClass('selected'); // add it to the clicked link 
} 

注:「選択」クラスを処理するには、このような何かを行うことができます。 .on()のやり方では、サブトピック行のリンクにのみイベントをバインドするようにします。 .on()を使用すると、新しいリンクを動的にDOMに追加するときにもイベントが発生することが保証されます。

+0

この返信いただきありがとうございます。私は今これを試みるだろう! –

+0

@BradleyRoberts Hm、私は間違ったクラス名を使用しているかもしれないことを知りました。ハイライト表示とオフ表示を使用しているのが分かります。そのため、クラス名を切り替える必要があるかもしれません。 jQueryコードはほとんど読みやすいので、私の例で十分です。 – Bram

+0

少し変更しました。 cssは何も石の中にセットされていませんIm最初はすてきなものをすべて手に入れようとしています:P私は、パディングが必要な領域を満たしていなかったとしても、aをtdに変更しました。 –

2

:hover pseudo-classを使用してください。

あなたのためにマウスのオーバー/アウトを処理します。

1

.toggleClass()を参照してください。名前が示すとおりです。

+0

ああ、これは仕事をするように見える:)! ありがとうございます。 –

関連する問題