У меня есть следующий код в файле с именем overlay.js:
Event.observe(window, 'load', function() {
emailSignUp();
});
function emailSignUp() {
var x = new Overlay();
x.show('<div class="popup"><div class="close">[ <a href="#" onclick="x.hide(); return false;">Close Window</a> ]</div></div>', {
position: 'center',
modal: true,
animate: true,
auto_hide: false,
click_hide: false,
opacity: 1,
bckg_opacity: 0.7 }
);
}
Используется прототип 1.6.1 и следующая библиотека наложений: http://kammerer.boo.pl/code/prototype-overlay/
Как правило, при нажатии на ссылку «закрыть» внутри всплывающего окна, всплывающее окно не закрывается, и я получаю x
не определено, что имеет смысл.
Я пытался создать экземпляр x
вне функции emailSignUp
, передать его и вернуть, но это также не сработало.
Я никогда раньше не работал с прототипом, поэтому я пытаюсь найти наилучший способ заставить функцию hide
работать.
При звонке hide
сразу после show
:
function emailSignUp() {
var x = new Overlay();
x.show('<div class="popup"><div class="close">[ <a href="#" onclick="x.hide(); return false;">Close Window</a> ]</div></div>', {
position: 'center',
modal: true,
animate: true,
auto_hide: false,
click_hide: false,
opacity: 1,
bckg_opacity: 0.7 }
);
x.hide();
}
Работает без проблем.
Любая помощь очень ценится!
-Ryan