2016-08-18 10 views
0

こんにちは私はそれにクリックイベントを持っている2つのクラスがあります、どのように他のクラスに影響しないクリックイベントをターゲットできます。基本的に、私はscroller-rightの2つのクラスを持っているとしましょう。クリックしているクラスに影響を与えたいだけです。ターゲット固有のクラスonclick

この私がこれまで持っているもの

$('.scroller-right').click(function(e) { 

    $('.scroller-left').fadeIn('slow'); 
    $('.scroller-right').fadeOut('slow'); 

    $('.tab-scroll').animate({left:"+="+widthOfHidden()+"px"},'slow',function(){ 

    }); 
}); 

$('.scroller-left').click(function() { 

    $('.scroller-right').fadeIn('slow'); 
    $('.scroller-left').fadeOut('slow'); 

    $('.tab-scroll').animate({left:"-="+getLeftPosi()+"px"},'slow',function(){ 

    }); 
});  
+1

使用;' – guradio

+1

がクリックされた要素を参照するためにクリックハンドラ内で 'this'キーワードを使用します。 –

答えて

0

以下の機能liek内部変数はあなたが正しくあなたは、単一の機能を必要とすることを観察した「$(この)」を使用してみてください。その結果、両方のケースを処理し、両方のハンドラとして追加できる関数を記述する必要があります。

function scrollerClick(e) { 
    var isLeft = $(this).hasClass("scroller-left"); 
    $('.scroller-' + (isLeft ? "left" : "right")).fadeIn('slow'); 
    $('.scroller-' + (!isLeft ? "left" : "right")).fadeOut('slow'); 

    $('.tab-scroll').animate({left:"+="+widthOfHidden()+"px"},'slow',function(){ 

    }); 
} 

$('.scroller-right, .scroller-left').click(scrollerClick); 
この文脈 `$(この).fadeOut( '遅い')
+0

非常に参考になりました –

1

$('.scroller-left').click(function() { 

    $('.scroller-right').fadeIn('slow'); 
    $(this).fadeOut('slow'); 


}); 
関連する問題