Необходимо закрыть диалоговое окно при открытии любого другого диалогового окна при щелчке гистограммы плавания. - PullRequest
0 голосов
/ 21 марта 2012

У меня есть код jsFiddle .Мне нужно закрыть предыдущее диалоговое окно (если оно открыто) по щелчку панели, чтобы я мог просто показать свой новый диалог.Я не могу этого сделать.

Вот мой код JavaScript, который обрабатывает всплывающую подсказку

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);

Мне нужно что-то сделать в этой функции pieClick ()Но я не могу понять, как это сделать ... Как это сделать?

1 Ответ

1 голос
/ 21 марта 2012

Добавьте эту строку в начало вашего pieClick. Метод:

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

Обновленная скрипка

Обновление: подумав немного об этом, вероятно, стоит броситьв этой строке:

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

Для фактического удаления контента.В противном случае вы будете добавлять контент в тело документа каждый раз, когда кто-то щелкает мышью.

Если вы хотите убедиться, что вы все еще можете скрыть старую подсказку, вы можете сделать это:

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

Хотя, если ваше затухание составляет 10 мс, вы, вероятно, не заметите разницу.

...