Послойное срабатывание кликов.
Здравствуйте, подскажите пожалуйста. имею код на бездействие пользователя.
idleTimer = null;
idleState = false; // состояние отсутствия
idleWait = 2000; // время ожидания в мс. (1/1000 секунды)
$(document).ready( function(){
$(document).bind('mousemove keydown scroll', function(){
clearTimeout(idleTimer); // отменяем прежний временной отрезок
if(idleState == true){
// Действия на возвращение пользователя
$( "div#video" ).css('display', 'none');
}
idleState = false;
idleTimer = setTimeout(function(){
// Действия на отсутствие пользователя
$( "div#video" ).css('display', 'block');
idleState = true;
}, idleWait);
});
$("body").trigger("mousemove"); // сгенерируем ложное событие, для запуска скрипта
});
При клике на любом участке экрана, блок убирается, при отсутствии пользователя блок появляется. Проблема заключается в том, что под этим блоком куча всяких блоков, и при клике на которые срабатывают события onclick(); Как сделать так, что бы при клике на блок "div#video" не происходило кликов по нижнем элеменам? |
Толком не понял че у тебя там происходит. Варианты:
1) Использовать div-подложку. Чтоб все клики приходились на него. 2) Использовать addEventListener('click, fn, true) - т.е. перехватывать событие. |
Необходимо div#video обернуть другим div-элементом, заполняющим всё видимое пространство. (Тогда клик будет приходиться на этот элемент)
Например: <div style="position: fixed; top: 0; left: 0; right: 0; bottom: 0;width: 100%; height: 100%; z-index: 1000000; "> <div id="video"></div> </div> У этого div z-index должен быть больше, чем у всех остальных элементов на странице. |
| Часовой пояс GMT +3, время: 15:06. |