Я сделал собственный базовый лайтбокс с Dojo для использования с формами и данными.На самом деле не имею дело с изображениями.
Проблема, с которой я, похоже, сталкиваюсь, заключается в следующем.Когда Dojo делает вызов через AJAX для ajaxtb.php с определенным кодом, например;? f = логин или? f = зарегистрировать страницу загружена.Когда вы закрываете лайтбокс и пытаетесь просмотреть что-то другое, скажем: «f = вещи», лайтбокс будет показывать то, что было раньше, будь то?1003 *
Вот код для лайтбокса, и кто-нибудь может сказать мне, как его оптимизировать, поскольку он довольно избыточен на данный момент и очень прост.
dojo.ready(function(){
#loads logout confirmation
dojo.query("#jsLogoutPromp").connect("onclick", function(){
dojo.byId("qpbox-title-text").innerHTML = "Logout Confirmation";
dojo.query("#qpbox-content").style("display", "block");
dojo.query("#qpbox-overlay").style("display", "block");
dojo.xhrGet({
url: "ajaxtb.php?f=logout",
load: function(newContent) {
dojo.byId("utm").innerHTML = newContent;
},
// The error handler
error: function() {
// Do nothing -- keep old content there
}
});
});
#loads options to upload profile photo
dojo.query("#jsUserPhotoPromp").connect("onclick", function(){
dojo.byId("qpbox-title-text").innerHTML = "Upload Photo";
dojo.query("#qpbox-content").style("display", "block");
dojo.query("#qpbox-overlay").style("display", "block");
dojo.xhrGet({
url: "ajaxtb.php?f=display_pic",
load: function(newContent) {
dojo.byId("utm").innerHTML = newContent;
},
// The error handler
error: function() {
// Do nothing -- keep old content there
}
});
});
#closes everything when clicked well technically hides everything
dojo.query("#qpbox-close").connect("onclick", function(){
dojo.query("#qpbox-content").style("display", "none");
dojo.query("#qpbox-overlay").style("display", "none");
});
#shows up for logout only, same as above code, but does not work since the original id is included in ajax.php?f=logout
dojo.query("#qpbox-stay").connect("onclick", function(){
dojo.query("#qpbox-content").style("display", "none");
dojo.query("#qpbox-overlay").style("display", "none");
});
});
Функции, отвечающие за закрытие всего,qpbox-close и qpbox-stay.Технически оба скрывают только лайтбокс не близко.Другая проблема связана с qpbox-stay.qpbox-stay id находится в ajax.php? f = logout, и при нажатии он не закрывает лайтбокс, поэтому не уверен, что с ним проблема.
вот код для ajax.php
if($_GET['f'] == 'logout') {
echo '
<p>Are you sure you want to exit right now?</p>
<br>
<button type="submit">Logout</button> <a href="#meminipost" id="qpbox-stay" onClick="return false;" style="float: right;">No, I wana Stay</a>
';
}
Спасибо