2016-08-02 2 views
1

クラスにいくつかのイベントを追加するスクリプトを実行しようとしています。 これらのイベントは、このクラスの中の1つの特定のDIVにのみ追加します。

$(".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項目をトリガ...そして私は、私はすべてのイベントを追加したためにドラッグしています一つだけをしたい:私はpep.jsを使用しています。

私はそれを書くことを試みた:

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

か:

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

か:

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

しかし、すべてはうまくいきませんでした。 誰かがアイデアを持っていますか?

UPDATE:

私はうまくいけば私の問題を説明しJSFiddleを作りました。ご覧のとおり

https://jsfiddle.net/ke6d5r1h/

は、例えば.colorクラスだけでなく、他に、ドラッグされたDIVに追加されません。これは私が変えたいものです。

+0

'console.log(this)'はあなたに何を表示しますか? –

+0

実行可能なデモ/スニペットや[JSFiddle](https://jsfiddle.net/)を共有できますか? [最小、完全、および検証可能なexample_を作成_](http://stackoverflow.com/help/mcve) – Rayon

+0

どのように動作しませんか?特定のエラーメッセージが表示されますか?このサイトで質問をするには、この記事をお読みください:http://stackoverflow.com/help/how-to-ask –

答えて

1

イベントハンドラでconsole.log(arguments)を使用すると、ハンドラに2つの引数、イベントオブジェクトとコンテキストを含むオブジェクトが渡されていると判断できました。コンテキストには、イベントターゲットのjQueryオブジェクトであるプロパティ$elがあります。

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

関連する問題