2016-08-18 4 views
0

Привет У меня есть 2 класса, на которых есть событие click on, Как настроить таргетинг на событие, которое не повлияет на другой класс. В принципе, у меня есть два класса скроллер-право, я просто хочу повлиять на класс, который кликает.target specific class 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

использовать этот контекст '$ (это) .fadeOut ('медленно');' – guradio

+1

Используйте 'this' ключевое слово в обработчик щелчка, чтобы ссылаться на Clicked элемент. –

ответ

0

Вы правильно заметили, что вам нужно одну функцию. В результате нам нужно написать функцию, которая может обрабатывать оба случая и добавить ее как обработчик для обоих.

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); 
+0

Спасибо, очень полезно –

1

попробовать использовать «$ (это)» переменная внутри функции Лик ниже

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

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


});