2011-01-20 8 views
1

다음 스크립트가 있습니다. 어떤 종류의 스크립트일까요?마우스 오버 또는 마우스 오버시 트리거를 계속 반복하려면 어떻게해야합니까?

'.sample'의 링크 위로 마우스 커서를 이동하면 '클릭'이 실행되고 있습니다.

어떻게하면이 클릭이 계속 트리거되는지 (일종의 루프) 달성 할 수 있습니까?

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

가 나는 또한 내가 유래에서 발견 된 다음과 같은 솔루션을 시도 :

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

나는 (클릭 한 번만 트리거 후 정지) 작동하지 않는 경우 다음을 시도했다. 하지만이 역시 클릭을 한 번만 실행합니다.

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 예는 모두 기능적으로 다른 :

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

여기에 있음을 보여줍니다 jsFiddle입니다. 첫 번째 항목은 자체적으로 '클릭'을 트리거합니다. 두 번째 요소는 다른 요소 인 것처럼 보이는 부분에 대해 '클릭'을 트리거합니다. 마지막 부분은 처음 부분에 가깝지만 여러 개의 ''요소에 대해 '클릭'을 유발할 수 있습니다. 당신은 실제로 어느 것을 원합니까? – user113716

+0

의견을 보내 주셔서 감사합니다. 실제로 첫 번째 것은 내가 원하는 것입니다. 실제로 작동합니다. 나는 계속 클릭을 계속해서 트리거 할 수 없습니다. 나는 아래의 모든 해답을 시도했지만 아무도 일하지 않았다. – user583130

답변

2

그냥 클릭 봤어? 아니면 트리거를 사용하는 특별한 이유가 있습니까? 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

답변 해 주셔서 감사합니다. 시도했지만 작동하지 않습니다. 클릭이 한 번만 발생하면 아무 일도 일어나지 않습니다. – user583130

관련 문제