2012-03-21 12 views
0

私のコードはjsFiddleです。私は私の新しいダイアログを表示することができるように、バーのクリック時に前のダイアログを閉じる必要があります。私はそれをすることができません。ここでflot bar chartのクリックで他のダイアログを開くときにダイアログを閉じる必要があります

は、私はこのpieClick()関数の中で何かをする必要があり、ツールチップ

function pieClick(event, pos, obj) 
{  
if (obj) {   
showTooltip(obj.pageX, obj.pageY, 
          obj.series.label); 
}} 

function showTooltip(x, y, contents) { 
var tooltip = $('<div class="tooltip">' + contents 
     + '<span class="arrow"></span></div>'); 
tooltip.css({ 
    top : y - 25, 
    left : x + 15 
}).appendTo("body").fadeIn(10); 
} 

$("#placeholder").bind("plotclick", pieClick); 

を扱うここに私のjavascriptのコードです。しかし、私はどのように行うかを理解することができません...どのようにそれを行うには?

答えて

1

あなたpieClickメソッドの先頭に次の行を追加します。

$(".tooltip").fadeOut(10); 

Updated fiddle

アップデート:このことについてもう少し考えて、それはおそらく、このラインで投げる価値がある:

$(".tooltip").Remove(); 

実際にコンテンツを削除するにはそれ以外の場合は、誰かがクリックするたびにドキュメントの本文にコンテンツを追加し続けます。

あなたはまだ古いツールチップをフェードアウトすることができますを確認するには、あなたがこれを行うことができます:

var old = $(".tooltip").fadeOut(10, function(){ 
    old.remove(); 
}); 

あなたのフェードアウトが10msである場合、あなたはおそらく違いに気付くことはありませんが。

+0

恐ろしい...... :) –

+0

ちょっと.removeより良いパフォーマンスを与える:)... –

関連する問題