Как-то не вяжется. Кто в js не понимает тот пытается разобраться с js, а не с опупевшим jquery.
В общем из рабочего. Простейший вьюер. див на всю ширину, поверх него две "кнопки", то есть два дива по 30% шириной слева и справа, абсолютно позиционированы. Щелчок на этих кнопках вызывает соответственно следующую или предыдущую картинку, а щелчок посередине - по div под ними - закрывает плеер.
Как сделать чтобы щелчок на кнопках не проникал в контейнер для картинок?
prev_button.addEventListener("click",
function(event) {
event.stopPropagation ? event.stopPropagation() : event.cancelBubble = !0;
this.elem_anchor.click();
}, false);
Кнопки невидимые, без заливки, без обводки, без ничего. Только указатель мыши меняется в зависимости от расположения над: левой кнопкой - палец влево, правой - вправо, посередине - zoom-out.
Див-контейнер сам себя скрывает элементарно
overlay.addEventListener("click",
function(event) {
this.style.visibility = "hidden";
}, false);
Ему не надо проверять видим я или невидим, потому что по невидимому щелкнуть не выйдет.
Появляется он после щелчка по ссылке на странице, куче которых вешается обработчик события щелчок по факту загрузки документа
...
elem.addEventListener("click", load_image, false);
вот она
var load_image = function(e) {
if (e.preventDefault)
e.preventDefault();
e.returnValue = false;
// тут вырезано действующее вещество
var arr = page_scrolls();
overlay.style.visibility = "visible";
overlay.style.top = arr[1] + "px";
//...
};
Все то же самое у вас, с той лишь разницей что вместо оверлея - боди, и ссылка всего одна.