禁用悬停jquery上的单击触发器
我使用禁用悬停jquery上的单击触发器,jquery,Jquery,我使用setInterval将滑块设置为每5秒单击一次“下一步”按钮。我的计划是,当你将鼠标悬停在图像上时,点击就会停止。我能想到的唯一方法是在悬停状态下编写一个新的setInterval,悬停时间太长,不会发生任何事情。但这不起作用,因为它没有覆盖原来的一个 在jQuery中有这样做的方法吗?我想做的就是停止悬停时的点击触发 setInterval(function() { jQuery('.next_button').trigger('click'); }, 1
setInterval
将滑块设置为每5秒单击一次“下一步”按钮。我的计划是,当你将鼠标悬停在图像上时,点击就会停止。我能想到的唯一方法是在悬停状态下编写一个新的setInterval
,悬停时间太长,不会发生任何事情。但这不起作用,因为它没有覆盖原来的一个
在jQuery中有这样做的方法吗?我想做的就是停止悬停时的点击触发
setInterval(function() {
jQuery('.next_button').trigger('click');
}, 1000);
$(".main-slide img").hover(function () {
setInterval(function() {
jQuery('.next_button').trigger('click');
}, 60000000);
},
function() {
setInterval(function() {
jQuery('.next_button').trigger('click');
}, 1000);
}
);
试试这个
$(document).ready(function(){
slider();
function slider(){
var t = setInterval(function() {
jQuery('.next_button').trigger('click');
}, 1000);
}
$(".main-slide img").hover(function () {
clearInterval(t);
}
$(".main-slide img").mouseout() {
slider();
}
);
});
您可以使用一个标志,当鼠标位于图元上时设置该标志,当鼠标离开图元时取消设置该标志,并在触发单击之前检查该标志:
var mouse_is_over = false;
setInterval(function () {
if (!mouse_is_over) $('.next_button').trigger('click');
}, 1000);
$(".main-slide img").on('mouseenter mouseleave', function(e) {
mouse_is_over = e.type == 'mouseenter';
});
创建已单击函数定义的函数,然后:
$('.element').hover(
function(){
$(this).unbind('click')
},function(){
$(this).click(function(){
definedBeforeClickFunction();
});
});
这样您就不需要清除间隔。是否要删除设置间隔 然后试试看
var p = setinterval(function(){ //code },time);
之后
clearInterval(p);
为什么不调用一个函数来代替触发事件呢?我不明白你们想做什么,但你们用clearInterval取消了SetInterval。