私はjQueryにかなり慣れていないので、次の問題が私には見えない非常に些細なことによって引き起こされているのかどうかは本当にわかりません。いずれにせよ、私は長く懸命に答えを探しましたが、何も見つかりませんでした。あなたが私を助けてくれることを願っています!
スライド式のコンテンツを補完する、シンプルなタブ付きメニューをコーディングしようとしています。タブにホバーするとフェードインする背景があり、クリックしたタブに応じてアクティブなクラスが削除および追加されるようにしたかったのです。
jQueryカラープラグインを使用したフェード効果のコードは次のとおりです。
$('#menu a').not('.active').hover(function(){
$(this).stop().animate({backgroundColor: '#FCEA77', 'opacity': '0.3'}, 'slow');
}, function() {
$(this).stop().animate({backgroundColor: '#000000', color:'#ffffff', 'opacity': '1'}, 'slow');
});
アクティブクラスのコードは次のとおりです。
$('a').click(function () {
$(".active").removeClass("active");
$(this).addClass("active");
});
どちらもそれ自体で正常に機能しますが、同時に機能させようとすると、フェード効果が発生し、別のタブをクリックするとアクティブなクラスが現在のクラスから削除されますが、クリックされたタブは取得されません。アクティブクラス。これを引き起こす原因は何ですか?それが本当に簡単で明白なことであるならば、私は謝罪します。
ああ、これが私のCSSです:
#menu { padding: 10px 0 0 0;
height: 25px;
color: white;
font-weight: bold;
font-size: 14px;
position:relative;
}
#menu a{
color:white;
padding: 10px;
text-decoration: none;
}
#menu a.active {
color:black;
background:#FCEA77;
}
と私のHTML:
<div id="menu">
<a href="#home" class="active">Home</a>
<a href="#news">News</a>
<a href="#info">Info</a>
<a href="#team">Team</a>
<a href="#gallery">Gallery</a>
</div>
よろしくお願いします!