1
我正在使用jQuery tooltip plugin(Bassistance)。現在我想在工具提示上設置一個delayOut計時器,但這不是插件的選項。 我還希望當我懸停工具提示時,工具提示仍然可見。如何爲jQuery工具提示插件設置delayOut計時器?
你知道如何在不使用其他jQuery插件的情況下實現這兩個功能嗎?
我正在使用jQuery tooltip plugin(Bassistance)。現在我想在工具提示上設置一個delayOut計時器,但這不是插件的選項。 我還希望當我懸停工具提示時,工具提示仍然可見。如何爲jQuery工具提示插件設置delayOut計時器?
你知道如何在不使用其他jQuery插件的情況下實現這兩個功能嗎?
設置delayOut
要延遲了計時器你有你的jquery.tooltip.js創建一個新的計時器參數,就像這樣:
var helper = {},
// the current tooltipped element
current,
// the title of the current element, used for restoring
title,
// timeout id for delayed tooltips
tID,
// timeout id for tooltip timeout
tDelayoutID,
// IE 5.5 or 6
IE = $.browser.msie && /MSIE\s(5\.5|6\.)/.test(navigator.userAgent),
// flag for mouse tracking
track = false;
接下來,添加一個delayOut工具提示參數:
$.tooltip = {
blocked: false,
defaults: {
delay: 200,
delayOut: 5000,
fade: false,
showURL: true,
extraClass: "",
top: 15,
left: 15,
id: "tooltip"
},
block: function() {
$.tooltip.blocked = !$.tooltip.blocked;
}
};
接下來,創建定時器:
function show() {
tID = null;
if (tDelayoutID)
clearTimeout(tDelayoutID);
if(settings(this).delayOut)
tDelayoutID = setTimeout(hide, settings(this).delayOut);
if ((!IE || //...
提示仍然可見,當我懸停提示
要做到這一點,你必須檢查的隱藏方法鼠標位置,如果它仍然在提示剛剛返回。您可能必須刪除.mouseout(隱藏)和.click(隱藏)事件,具體取決於您要結合計時器查找的內容。
[tipsy](http://onehackoranother.com/projects/jquery/tipsy/)ftw,即使你不想使用不同的插件。 – 2012-03-21 12:09:01