ばかげた質問やコーディングで申し訳ありません。jquery は初めてです。
ロールオーバーとアクティブな状態を持つ 1 ページ サイトのメニューを作成しようとしています。HTML:
<ul id="menu">
<li><a class="rollover" href="#"><img class="folio" src="images/folio3.png" /></a></li>
<li><a class="rollover" href="#"><img class="services" src="images/services3.png" /></a></li>
<li><a class="rollover" href="#"><img class="about" src="images/about3.png" /></a></li>
<li><a class="rollover" href="#"><img class="contact" src="images/contact3.png" /></a></li>
</ul>
jquery:
$(document).ready(function(){
$("a.rollover").fadeTo(1,0.5);
$("a.rollover").hover(
function() {$(this).fadeTo("fast",1);},
function() {$(this).fadeTo("fast",0.5);});
$("a.rollover").click(function(){
if($(".active").length) {
if($(this).hasClass("active")) {
$(this).removeClass("active");
$(this).fadeTo("fast",0.5);
} else {
$(".active").fadeTo("fast",0.5);
$(".active").removeClass("active");
$(this).addClass("active");
$(this).fadeTo("fast",1);
}
} else {
$(this).addClass("active");
$(this).fadeTo("fast",1);
}});
});
したがって、ここには 2 つの問題があります。
アクティブなクラスが追加され、Chrome の開発者ツールでアクティブなクラスの不透明度が「1」であることがわかりますが、ブラウザでは機能しないようです。不透明度は引き続きブラウザに「0.5」として表示されます。
$(this) がアクティブな場合、$(this) をクリックしてアクティブなクラスを削除した後でも、不透明度は「1」のままです。$(this) を数回クリックすると、最終的に不透明度が「0.5」に戻ります。
助けていただければ幸いです。私はこれに苦労してきました... 3日経ちました:-/
よろしくお願いします...