昨日私が書いたイメージの切り替えスクリプトに関する助けを頼んだ質問を投稿しました。私はスクリプトを拡張し、問題のある場所に私の人生のためにはできない問題にぶつかってきました。Jqueryクラスのチェックと変更
HTML:
<div id="feature-image">
<h1><span>A random heading</span></h1>
</div>
<div id="feature-links">
<a class="a1" href="#">1</a>
<a class="a2" href="#">2</a>
<a class="a3" href="#">3</a>
</div>
JS +のjQuery:各<a>
タグは(A1、A2、A3のクラスを持っている
<a>
タグに
click
をチェックするスクリプトで
$(function(){
$('#feature-links a').click(function() {
if ($(this).hasClass('a-active')) {
return false;
} else {
var image = $(this).attr('class');
switchToImg(image, function() {
$('#feature-links a .a-active').removeClass('a-active');
$('#feature-links .' + image).addClass('a-active');
});
}
});
function switchToImg(image){
$('#feature-image').fadeOut('300', function(){
$('#feature-image').css('background-image','url(images/main_' + image + '.jpg)');
$('#feature-image').fadeIn('300');
});
};
、等。)。また、アクティブな<a>
には 'a-active'のクラスがあります。
私はa-active
がこれで設定されているかどうかを確認しようとしています:
if ($(this).hasClass('a-active')) {
return false;
}
と、それは同じ画像にし、フェードアウトしないように、そこにスクリプトをカット。しかし、クラスa-active
をチェックしてfalseを返すと、返されたにもかかわらずイメージはフェードインとフェードアウトし続けます。私は.addClass
と.removeClass
を使用しているセクションに問題があると確信していますが、JavascriptとJqueryの知識はこれを適切にデバッグするためにぼんやりとしています。
誰かがこれ以上重視してもらえますか?
ありがとうございます。
ありがとうグレッグ!それは私の問題を分類しました! :) –
問題ありません!喜んで助けてください。 – GregL
興味があれば、このjsFiddleリビジョンのコードを強化しました:http://jsfiddle.net/rPFTd/3/。 – GregL