У меня есть несколько iframe, каждый со своим атрибутом src
;
<iframe src="test1.html"></iframe>
<iframe src="test2.html"></iframe>
Это определенно лайтбокс;
Внутри iframe у меня есть ссылки на другие страницы.
Когда вы закрываете лайтбокс и снова открываете его, iframe сохраняет последнюю страницу, которую вы посетили в этом iframe (не оригинал src
);
Затем я использую этот код, чтобы вернуть iframe к его исходному src
$(".lightboxOverlay").click(function(e) {
//bla bla bla
$("#lightboxID iframe").attr("src", $("#lightboxID iframe").attr("src"));
});
И это работает, когда вы используете только один iframe, но если у вас есть несколько лайтбоксов с разными iframe каждый и используйте код выше, все iframe получают одинаковые src
;
Как я уже говорил, при закрытии лайтбокса мне нужно вернуть iframe к его исходному src
.
Вы можете мне помочь?
Настоящий код выглядит примерно так:
<div class="lightbox" id="lb1">
<iframe src="page1.html"></iframe>
</div>
<div class="lightbox" id="lb2">
<iframe src="page2.html"></iframe>
</div>
Возможное решение
Хорошо, у меня слабое решение для моей проблемы.
Я добавляю класс active
в контейнер iframe, когда лайтбокс открыт. Затем, когда лайтбокс закрывается, скрипт использует селектор «.active iframe».
$(".lightboxOverlay").click(function(e) {
//bla bla bla
$(".active iframe").attr("src", $(".active iframe").attr("src"));
$(".active").removeClass("active");
});
Я знаю, это слабое решение, но если у вас есть лучший способ решить проблему, вы можете ответить на вопрос.