2012-03-21 6 views
1

私はjQuery tooltip plugin(Bassistance)を使用しています。今は、ツールヒントにdelayOutタイマーを設定したいのですが、これはプラグインのオプションではありません。 また、ツールチップをホバーすると、ツールチップが表示されたままにしておきたいと思います。jQueryツールチッププラグインのdelayOutタイマーを設定するにはどうすればよいですか?

別のjQueryプラグインを使用せずにこれらの2つの機能をどのように達成できるかご存知ですか?

+0

[tipsy](http://onehackoranother.com/projects/jquery/tipsy/)ftw –

答えて

0

あなたはこのように、あなたのjquery.tooltip.jsで新しいタイマーパラメータを作成する必要がタイマアウト遅延を作るためにdelayOut

を設定します。

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(hide)および.click(hide)イベントを削除する必要があります。別のプラグインを使用したくない場合でも、

関連する問題