如何在鼠标悬停或悬停时持续重复触发器?
问题描述:
我有以下脚本,哪种作品。如何在鼠标悬停或悬停时持续重复触发器?
如果我移动鼠标光标移到一个链接“样品”,‘喀嗒’被触发。
我怎样才能实现,这个点击是不断触发的(一种循环)?
$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);
});
我也尝试了以下解决方案,我发现在计算器。但是,这也是一个触发点击一次:
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);
});
我到底做错了什么?
答
你试过只需点击?或者你有使用触发器的具体原因?
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/
答
你需要传递函数引用到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 2011-01-20 16:10:20
你的3个例子都是功能不同。第一个触发自己的“点击”。第二个触发一个似乎是不同元素的“点击”。最后一个看起来更接近第一个,但可能触发几个``元素上的`click`。你究竟想要什么? – user113716 2011-01-20 15:26:43
感谢您的评论。其实第一个就是我想要的那个,它实际上起作用,我只是不能连续触发点击。我尝试了下面的所有答案,但没有人工作。 – user583130 2011-01-20 16:12:07