如何制作一个更长时间的鼠标悬停棒
How do I make a mouseover stick for a longer period of time?
这是我的代码:
$(function() {
$("#page-flip").mouseover(function() {
$(".box").toggleClass("box-change");
$(".films").toggleClass("films-change");
$(".synopsis").toggleClass("synopsis-change");
});
});
它工作得很好,但鼠标悬停有点坐立不安。我希望它能坚持更长的时间,并且在第一次触发时不要退缩。例如,如果用户正在快速移动他/她的鼠标,它应该完全释放或根本不释放,而不是半步。有什么想法吗?
我认为暂停是一种方法,但我已经尝试过了,现在类不会切换。
function myMouseOver()
{
$(".box").toggleClass("box-change");
$(".films").toggleClass("films-change");
$(".synopsis").toggleClass("synopsis-change");
}
$("#page-flip").mouseover(function() {
var t = setTimeout("myMouseOver()",1500);
});
要延迟javascript执行,可以使用setTimeout或setInterval
试试这个:
function myMouseOver()
{
$(".box").toggleClass("box-change");
$(".films").toggleClass("films-change");
$(".synopsis").toggleClass("synopsis-change");
}
$("#page-flip").mouseover(function() {
var t = setTimeout("myMouseOver()",1500);
});
我为你做了一个jsFiddle,告诉我这是否是你的想法:http://jsfiddle.net/alexpeta/fWakf/5/
您是否尝试使用mouseenter
事件而不是mouseover
事件?它被设计为仅当光标进入元素的区域时触发,而不是当您mouseover
一个子元素,然后mouseout
该子元素时:
$(function() {
$("#page-flip").mouseenter(function() {
$(".box").toggleClass("box-change");
$(".films").toggleClass("films-change");
$(".synopsis").toggleClass("synopsis-change");
});
});
在js.fiddle上尝试此代码。此函数将以一致的行为模拟mouseover。
$(function() {
$("#page-flip").mouseenter(function() {
$(".box").toggleClass("box-change");
$(".films").toggleClass("films-change");
$(".synopsis").toggleClass("synopsis-change");
})
$("#page-flip").mouseleave(function() {
$(".box").toggleClass("box-change");
$(".films").toggleClass("films-change");
$(".synopsis").toggleClass("synopsis-change");
})
});
您正在寻找hoverIntent插件,它可以为您消除鼠标悬停事件。
$(selector).hoverIntent(hoverCallback, leaveCallback);
相关文章:
- 为什么我的上下文选择器和.buttonset()在ie中花费了这么长时间
- 谷歌地图需要很长时间才能在ie11中渲染
- 有没有一种方法可以检查javascript以毫秒为单位执行一个函数需要多长时间
- 我一直收到的控制台警告是什么?推迟长时间运行的计时器任务以提高滚动的流畅性
- 为什么这个代码不起作用?我花了很长时间试图弄清楚这一点
- 如何在长时间执行JavaScript期间显示微调器
- 长时间轮询:每个浏览器中的通知
- 完整日历:如何支持一次点击和不长时间点击
- 如何使用 javascript 停止对 asp.net 进行正在进行的回发(长时间运行的执行)
- 为什么这个 AJAX 调用需要这么长时间
- 为什么这个正则表达式需要这么长时间才能执行
- 如何修复长时间运行的脚本
- Node.js中的垃圾收集作用域-变量将保持设置状态多长时间
- javascript秒表限制最长时间
- 长时间运行的脚本IE与Chrome/Firefox
- 有没有一种方法可以在长时间运行的JavaScript操作之前强制回流
- 我的无引用 JavaScript 对象存在在哪里以及存在多长时间
- 为什么chromecast在动画帧之间需要这么长时间
- 如何制作一个更长时间的鼠标悬停棒
- 快速点击事件和长时间的鼠标按下事件的区别