Javascript 如何在鼠标停止时显示气球工具提示

Javascript 如何在鼠标停止时显示气球工具提示,javascript,onmousemove,balloon,Javascript,Onmousemove,Balloon,[编辑] 因此,我使用了下面建议的javascript工具提示之一。我有一些提示,当你停下来,如果你动了就躲起来。唯一的问题是,当我这样做时,它会起作用: document.onmousemove = (function() { var onmousestop = function() { Tip('Click to search here'); document.getElementById('MyDiv').onmousemove = function

[编辑] 因此,我使用了下面建议的javascript工具提示之一。我有一些提示,当你停下来,如果你动了就躲起来。唯一的问题是,当我这样做时,它会起作用:

document.onmousemove = (function() {
    var onmousestop = function() {
        Tip('Click to search here');
        document.getElementById('MyDiv').onmousemove = function() {
        UnTip();
    };
    }, thread;

    return function() {
        clearTimeout(thread);
        thread = setTimeout(onmousestop, 1500);
    };
})();
但是我希望函数只应用于特定的div,如果我将第一行更改为document.getElementById'MyDiv'。onmousemove=function{我得到一个javascript错误文档。getElementById'MyDiv'为null,我缺少什么

[/编辑]

当用户鼠标停留在某个元素上超过1.5秒时,我想显示一条气球样式的消息。如果他们移动鼠标,我想隐藏气球。我正在尝试使用一些在野外发布的JavaScript代码。以下是我用来检测鼠标何时停止的代码:

document.onmousemove = (function() {
    var onmousestop = function() {
        //code to show the ballon
        };
    }, thread;

    return function() {
        clearTimeout(thread);
        thread = setTimeout(onmousestop, 1500);
    };
})();

所以我有两个问题。第一,有没有人推荐在光标位置显示一个轻量级javascript气球。第二,detect mouse stopped(检测鼠标停止)代码可以正常工作,但如何检测鼠标再次开始移动并隐藏气球,我感到很困惑。谢谢…

这里有一个漂亮的jQuery插件,可以提供一个漂亮的float over工具头

[编辑]
我想如果没有看到配套的HTML,很难说是什么问题。我会仔细检查元素是否在标记中指定了适当的ID。除此之外,除非这是一个学术练习,否则我建议使用类似于我上面引用的jQuery插件的东西。当然还有许多其他类似的预构建工具ch已经处理了您当前正在处理的所有细节。

这里有一个漂亮的jQuery插件,它提供了一个漂亮的浮动工具提示

document.onmousemove = (function() {
  if($('balloon').visible) {
  //mouse is moving again
}....//your code follows
[编辑] 我想如果没有看到配套的HTML,很难说是什么问题。我会仔细检查元素是否在标记中指定了适当的ID。除此之外,除非这是一个学术练习,否则我建议使用类似于我上面引用的jQuery插件的东西。当然还有许多其他类似的预构建工具ch已经处理了您当前处理的所有细节

document.onmousemove = (function() {
  if($('balloon').visible) {
  //mouse is moving again
}....//your code follows
使用Prototype.js语法,您可以在气球可见后确定鼠标已移动

使用Prototype.js语法,您可以在气球可见后确定鼠标已移动。

jQuery插件提供了类似的行为。它通过检查用户是否减慢鼠标移动到元素中的速度并在元素上花费一定时间来确定用户是否“有意”将鼠标悬停在特定元素上新界

它只在用户离开元素时触发out事件,这听起来与您要查找的内容不完全一样,但代码非常简单

另外,请注意将内容绑定到mousemove当您不需要收集事件时,mousemove会快速触发大量事件,并可能对您的站点性能产生严重影响。hoverIntent仅在光标进入活动元素时绑定mousemove,然后解除绑定

如果您尝试hoverIntent,我发现缩小版没有触发事件有一些问题,因此我建议使用完整的、未统一的源代码。

jQuery插件提供了类似的行为。它通过检查用户是否减慢鼠标移动到元素a的速度来确定用户是否“有意”将鼠标悬停在特定元素上nd在元素上停留一定的时间

它只在用户离开元素时触发out事件,这听起来与您要查找的内容不完全一样,但代码非常简单

另外,请注意将内容绑定到mousemove当您不需要收集事件时,mousemove会快速触发大量事件,并可能对您的站点性能产生严重影响。hoverIntent仅在光标进入活动元素时绑定mousemove,然后解除绑定


如果您尝试使用hoverIntent,我发现缩小版无法触发事件时遇到了一些问题,因此我建议使用完整、未统一的源代码。

回答这个问题有点晚,但这对那些需要帮助的人会有所帮助

我需要这个函数来检测鼠标何时停止移动一段时间,以便在悬停在视频上时隐藏HTML/JS播放器控制器。这是工具提示的修订代码:

document.getElementById('MyDiv').onmousemove = (function() {
    var onmousestop = function() {
        Tip('Click to search here');
    }, thread;

    return function() {
        UnTip();
        clearTimeout(thread);
        thread = setTimeout(onmousestop, 1500);
    };
})();
在我的例子中,我使用了一些jQuery来为我的播放器控制器选择元素:

$('div.video')[0].onmousemove = (function() {
    var onmousestop = function() {
        $('div.controls').fadeOut('fast');
    }, thread;

    return function() {
        $('div.controls').fadeIn('fast');
        clearTimeout(thread);
        thread = setTimeout(onmousestop, 1500);
    };
})();

现在回答这个问题有点晚了,但这对那些需要帮助的人来说是有帮助的

我需要这个函数来检测鼠标何时停止移动一段时间,以便在悬停在视频上时隐藏HTML/JS播放器控制器。这是工具提示的修订代码:

document.getElementById('MyDiv').onmousemove = (function() {
    var onmousestop = function() {
        Tip('Click to search here');
    }, thread;

    return function() {
        UnTip();
        clearTimeout(thread);
        thread = setTimeout(onmousestop, 1500);
    };
})();
在我的例子中,我使用了一些jQuery来为我的播放器控制器选择元素:

$('div.video')[0].onmousemove = (function() {
    var onmousestop = function() {
        $('div.controls').fadeOut('fast');
    }, thread;

    return function() {
        $('div.controls').fadeIn('fast');
        clearTimeout(thread);
        thread = setTimeout(onmousestop, 1500);
    };
})();