Я опробовал несколько лайтбоксов для своего сайта, используя MooTools 1.4, и нашел этот, который работает и выглядит действительно красиво (с простой реализацией):
http://andrewplummer.com/code/quickbox/
На демонстрационном веб-сайте лайтбокс работает отлично, при нажатии на изображение выводится наложение и изображение, а при нажатии на наложение они удаляются.
На моем веб-сайте, когда вы щелкаете по изображению, которое помечено соответствующим образом, всплывающее окно появляется, и все работает правильно, однако, когда вы выходите из окна лайтбокса, нажимая наложение или нажимая q / x / esc, наложение скрывается и все выглядит отличный. Единственная проблема в том, что по какой-то причине это встроено в тело моего кода:
<div id="qbOverlay" style="display: block; width: 100%; height: 100%; opacity: 0; "></div>
Проблема, которую это вызывает, заключается в том, что она не удаляется после закрытия лайтбокса, поэтому вся страница в
очищается.
#qbOverlay {
display: block;
position: absolute;
z-index: 100;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: #000;
cursor: pointer;
}
Это проблема, потому что это делает верхнюю часть страницы наложенным и никогда не удаляется после закрытия лайтбокса. Когда это так, я не могу нажимать какие-либо ссылки или использовать какие-либо поля ввода в области, которую он охватывает.
У меня такое ощущение, что причина этой проблемы заключается в следующем:
close: function(){
this.quickBox.setStyle("display", "none");
this.quickBox.setStyle("cursor", "auto");
this.overlay.fade("out");
this.active = false;
}
Я пытался использовать MooTools с режимом совместимости и включать все дополнительные функции, но безуспешно.