让qtip马上消失

时间:2011-02-12 18:33:58

标签: javascript jquery events mouseover qtip

所以我想要qtip中的以下行为:

当我点击对象时我会显示qtip(我的工作没有问题)......但是我想让它在几毫秒之后消失而我无需做任何事......你会怎样?如何配置qtip来做到这一点?

我试过

hide: {
    when : 'inactive',
    delay : 100,
    fixed: false
}

但它没有用......

任何帮助将不胜感激...谢谢

3 个答案:

答案 0 :(得分:1)

如果您只想让工具提示在屏幕上闪烁:

$(".tooltip").qtip({
    content: "Test tooltip",
    api: {
        // As soon as the qtip is fully visible..
        onShow: function (event) {
            // Keep a reference to the qtip..
            that = this;
            // After 1ms (to let things settle down)
            setTimeout(function () {
                // Hide the qtip
                that.hide();
            }, 1); // change this value to have it stay on screen longer
        }
    },
    show: "mouseover"
});

答案 1 :(得分:0)

我认为您的代码是正确的,但delay导致了问题。 100毫秒只有0.1秒,所以也许qtip花费的时间比渲染时间长,当它被告知隐藏自己(只是一个猜测)时它将不存在。

我会增加延迟(你可能希望你的用户无论如何都能看到提示),看看是否有帮助。以下是使用1000毫秒的示例:http://jsfiddle.net/andrewwhitaker/dVEYq/

答案 2 :(得分:0)

我知道这是一个老问题,但万一有人经过,qTip2的正确方法是:(事件代替api)

events: {
            show: function(event, api){
                var that = this;
                setTimeout(function () {
                   // Hide the qtip
                    that.hide();
                }, 3000); // change this value to have it stay on screen longer
            }
        }