Предупреждение jQuery Tools работает один раз (но только один раз)

Я пытаюсь создать простой механизм оповещения с помощью jQuery Tools - в ответ на немного кода Javascript появляется надпись с сообщением и кнопка "ОК", которая при нажатии на нее накладывается. Тривиальный, или это должно быть. Я рабски следил за http://flowplayer.org/tools/demos/overlay/trigger.html и имел что-то, что отлично срабатывает при первом вызове, но только в это время. Если я повторяю действие JS, которое должно выставлять наложение, это не так.

Мой контент /DIV:

<div class='modal' id='the_alert'>
  <div id='modal_content' class='modal_content'>
    <h2>hi there</h2>
    this is the body
    <p>
    <button class='close'>OK</button>
    </p>
  </div>
  <div id='modal_background' class='modal_background'><img src='/images/overlay/f9f9f9-180.png' class='stretch' alt='' /></div>
</div>

и Javascript:

function showOverlayDialog() {
$('#the_alert').overlay({
    mask: {color: '#cccccc', loadSpeed: 200, opacity: 0.9}, 
    closeOnClick: false,
    load: true 
});
}

Как я уже сказал: Когда showOverlayDialog() вызывается в первый раз, наложение появляется так же, как должно, и исчезает, когда нажимается кнопка "ОК". Но если я заставляю showOverlayDialog() запускаться снова, не перезагружая страницу, ничего не происходит. Если я перезагружу страницу, то образец повторяется - первый вызов вызывает оверлей, а второй - нет.

Я, очевидно, что-то пропустил - какие-то советы там? Благодарю!

Ответ 1

Определите диалоговое окно и установите load на значение false (отключив автоматическую загрузку диалога):

$('#the_alert').overlay({
    mask: {
        color: '#cccccc',
        loadSpeed: 200,
        opacity: 0.9
    },
    closeOnClick: false,
    load: false
});

Затем в обработчике, который показывает диалог, вызовите метод load api:

$("#show").click(function() {
    $("#the_alert").data("overlay").load();
});

(Назначает событие click для элемента с идентификатором show, который показывает наложение)

Рабочий пример здесь: http://jsfiddle.net/andrewwhitaker/Vqqe6/

Я не считаю, что вы можете определить более одного наложения на определенный элемент, что вызывало вашу проблему.