2011-01-20 10 views
1

私は次のようなスクリプトを用意しています。マウスオーバーまたはホバーでトリガーを継続的に繰り返すにはどうすればよいですか?

「.sample」のリンク上でマウスカーソルを移動すると、「クリック」が発生しています。

どうすればこのクリックが連続的にトリガーされるようにすることができますか?

$jq('.sample a').mouseover(function(){ 
    $jq(this).trigger('click'); 
    return false; 
}); 

私は(クリックは一度だけトリガされ、それが停止した)動作していないされ、次のことを試してみました:

$jq('.sample a').mouseover(function(){ 
    setInterval(function() { $jq('.nav-sub-browser a').trigger('click'); }, 100); 
}); 

また、私はstackoverflowので見つかった以下のソリューションを、試してみました。しかし、これも1度だけクリックを誘発します:

function triggerClick() { 
    $jq('.nav-sub-browser a').trigger('click'); 
} 
var interval; 
$jq('.nav-sub-browser a').hover(function() { 
    interval = setInterval(triggerClick(), 100); 
}, 
function() { 
    clearInterval(interval); 
}); 

私は間違っていますか?

+0

あなたの3例はすべて機能的に異なっています。最初はそれ自身の上で「クリック」を引き起こす。 2番目の要素は、別の要素であると思われる部分に「クリック」をトリガーします。最後は最初のものに近いようですが、いくつかの ''要素で 'クリック 'を引き起こす可能性があります。どちらを実際にしたいですか? – user113716

+0

ありがとうございます。実際に最初のものが私が望むものです、実際には動作しますが、私はクリックを連続的に引き起こすことができません。私は以下のすべての答えを試しましたが、誰も働いていませんでした。 – user583130

答えて

2

あなただけクリックしてみましたか?トリガーを使用している特定の理由はありますか?

var myInterval = false; 
$('.sampleA').mouseover(function(){ 
    myInterval = setInterval(function(){ 
     $('.nav-sub-browser a').click(); 
    }, 100); 
}); 

$('.sampleA').mouseout(function(){ 
    clearInterval(myInterval); 
    myInterval = false; 
}); 

ここですることを実証することjsFiddleです: http://www.jsfiddle.net/jbenson/dpC7W/

+0

ありがとう、私は試してみました。しかし、それはまだ動作していない、«クリック»は一度だけ起動されます。 – user583130

+0

私の編集を参照し、発生したクリック数を示すjsFiddleを追加しました。 –

+0

ありがとうございます! jsfiddleでのあなたのデモンストレーションは、私に正しい方法を示しました...それは今働いています。私がスクリプトを理解している限り、問題はボタン上にマウスオーバーを置いた別の機能がすでにあったことです。私はちょうどこの機能を無効にし、私が同じことをするために使用するスクリプトのAPIを使用する別の機能を作った。 – user583130

2

あなたは関数リファレンスsetIntervalから渡す必要があるので、末尾の()triggerClick後を取り除く:

function triggerClick() { 
    $jq('.nav-sub-browser a').click(); 
} 

var interval; 
$jq('.nav-sub-browser a').hover(function() { 
    interval = setInterval(triggerClick, 100); 
}, function() { 
    clearInterval(interval); 
}); 
+0

ありがとうございます。私は試しましたが、うまくいきません - クリックが1回だけ発生すると何も起こりません。 – user583130

関連する問題