2012-03-21 48 views
1

我正在使用jQuery tooltip plugin(Bassistance)。現在我想在工具提示上設置一個delayOut計時器,但這不是插件的選項。 我還希望當我懸停工具提示時,工具提示仍然可見。如何爲jQuery工具提示插件設置delayOut計時器?

你知道如何在不使用其他jQuery插件的情況下實現這兩個功能嗎?

+0

[tipsy](http://onehackoranother.com/projects/jquery/tipsy/)ftw,即使你不想使用不同的插件。 – 2012-03-21 12:09:01

回答

0

設置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(隱藏)事件,具體取決於您要結合計時器查找的內容。

相關問題