我正在尝试像淡入淡出一样google.com(Cept我想淡出文字)
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(document).ready(function() {
$("html").mousemove(function () {
$("p").fadeOut("slow");
});
});
</script>
使用该代码,虽然我没有移动鼠标,但我的淡出会自动激活。适用于所有浏览器。有什么提示吗?
答案 0 :(得分:5)
由于事件最初触发一次并且mousemove
每次移动像素时都会触发,您可以忽略第一个(可能是自动的,取决于浏览器)mousemove
事件来获得效果希望,像这样:
$(function() {
var moveCount = 0;
$("html").mousemove(function () {
if(moveCount++ === 0) return; //first run?
$("p").fadeOut("slow");
$(this).unbind('mousemove'); //unbind this, no need to stick around
});
});
You can try a demo here,我们所做的只是忽略非常首次触发mousemove
事件,之后我们执行淡入淡出并取消绑定此处理程序,以便它不会为未来的mousemove
解雇,只是清理。
答案 1 :(得分:1)
似乎如果页面加载并且页面加载后鼠标出现在页面上,它将触发一个事件。尝试将鼠标悬停在地址栏上或浏览器顶部菜单上的某处,将鼠标从页面中隐藏,使用F5刷新页面并注意事件未被触发。同样,尝试使用F5刷新并立即右键单击页面。将鼠标悬停在页面上,但请确保上下文菜单仍处于打开状态。页面加载后,根本不移动鼠标,点击键盘上的Escape键,鼠标将退出上下文菜单并返回页面。鼠标尚未移动但已在页面上检测到并触发了事件。
在Windows 7上的Chrome 5中测试过。懒得尝试其他浏览器,但我认为它是一样的。
答案 2 :(得分:0)
你确定没有'微动作'吗?有时,光学鼠标会导致移动仅仅是灰尘或污垢。