2016-08-02 3 views
1

Я пытаюсь запустить скрипт, который добавляет некоторые события в класс. Я хочу, чтобы эти события добавлялись только к одному конкретному DIV в этом классе. Я использую pep.js:

$(".drag").pep({ 
start: function() { 
     $(".drag").addClass('color'); 
     $('.drag').next(".text").fadeIn("slow"); 
     $(".text-video").fadeOut("fast"); 

    }, 
stop: function() { 
     $('.drag').removeClass('color'); 
     $('.drag').next(".text").fadeOut("slow"); 
    } 

    }); 

Это работает, но это вызывает все элементы .drag сразу ... И я хочу только один я тащил, чтобы добавили все события.

Я попытался написать его:

$(".drag", this).addClass('color'); 

или:

$(this).addClass('color'); 

или:

$(this.element).addClass('color'); 

Но все это не сработало. Есть ли у кого-то идеи?

UPDATE:

Я сделал JSFiddle многообещающий объясняет мою проблему.

https://jsfiddle.net/ke6d5r1h/

Как вы видите, класс .color, например, не только добавляется в DIV, который таскали, но и к другому. Это то, что я хочу изменить.

+0

Что означает 'console.log (this)' show you? –

+0

Можете ли вы поделиться исполняемым демо/фрагментом или [JSFiddle] (https://jsfiddle.net/)? [_Создание минимального, полного и проверяемого примера_] (http://stackoverflow.com/help/mcve) – Rayon

+0

Как он не работает? Означает ли это конкретное сообщение об ошибке? Пожалуйста, прочитайте эту статью о том, как задать вопрос на этом сайте: http://stackoverflow.com/help/how-to-ask –

ответ

1

Используя обработчики событий console.log(arguments), я смог определить, что обработчикам передаются два аргумента: объект события и объект, содержащий контекст. Контекст имеет свойство $el, которое является объектом jQuery для целевой цели.

start: function(e,a) { 
    a.$el.addClass('color'); 
    a.$el.next(".text").fadeIn("slow"); 
    $(".text-video").fadeOut("fast"); 
}, 

https://jsfiddle.net/85tffqhL/

e.target также даст вам ссылку на элемент.

+0

ЭТО РАБОТЫ СОВЕРШЕННО !!! Спасибо огромное! Ок, это ново для меня, я полный новичок в JQuery ... Спасибо за вашу помощь !!! – Cyrill

Смежные вопросы