Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.07.2013, 15:21
Аспирант
Отправить личное сообщение для VitAl2013 Посмотреть профиль Найти все сообщения от VitAl2013
 
Регистрация: 27.05.2011
Сообщений: 67

Непроницаемый элемент
Пытаюсь сделать блокиратор веб документа для принудительного логина по принципу лайтрума. То есть, грузит пользователь сайт, но сверху транспарентно вешается, например div, который не пропускает никакие клики и прочие ивенты. Ловит их все на себя, запуская свой ивент вместо тех что под ним.

Может можно как-то сделать отключение всех ивентов в определённом элементе (body и всех что внутри него), а потом их включить без перечисления? но лучше реализовать непроницаемость.

Нарыл disable, он для всякого рода чекбоксов и радиобатанов, но рядом.

Как сделать?
Ответить с цитированием
  #2 (permalink)  
Старый 31.07.2013, 15:43
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от VitAl2013
по принципу лайтрума
Чего только не прочтешь...

И чему нас учит этот Лайтрум?
Ответить с цитированием
  #3 (permalink)  
Старый 31.07.2013, 17:45
Аватар для zilker
Профессор
Отправить личное сообщение для zilker Посмотреть профиль Найти все сообщения от zilker
 
Регистрация: 30.07.2011
Сообщений: 189

а обычный div c
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: 1000000;

в body вам чем не угодил?
Ответить с цитированием
  #4 (permalink)  
Старый 02.08.2013, 12:14
Аспирант
Отправить личное сообщение для VitAl2013 Посмотреть профиль Найти все сообщения от VitAl2013
 
Регистрация: 27.05.2011
Сообщений: 67

ksa
Лайтрум затеняет весь документ, делая его либо трудно воспринимаемым либо совсем не читаемым. Поверх выводит окно с фотогрфией на которой и концентрируется всё внимание.
zilker
Через него проходят все клики, прокрутка страницы пользователем (колесом или тачустройством), но самое главное он не ловит на себе клики если под ним, например, кнопка или ссылка. Только в тех малых участках где под ним ничего нет он выдаёт свою реакцию на ивэнты.

Можно и в body только это lock на документ. У меня на body посажен blur filter при такой блокировке (собственно, у меня не происходит затенение, а происходит размытие, но не в этом суть). Если div внутри него, то и он размывается. Можно конечно переиграть, но суть не меняется - div проницаем для кликов и свои дейсвия не выполняет.

Последний раз редактировалось VitAl2013, 02.08.2013 в 12:20.
Ответить с цитированием
  #5 (permalink)  
Старый 02.08.2013, 13:07
Аватар для zilker
Профессор
Отправить личное сообщение для zilker Посмотреть профиль Найти все сообщения от zilker
 
Регистрация: 30.07.2011
Сообщений: 189

Да ладно, что серьёзно?

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<style>
	body {
		height: 2500px;
	}
	#bg {
		position: fixed;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		z-index: 1000000;
		background: #c1c1c1;
		opacity: 0.5;
		display: none;
	}
	#onclick {
		width: 50px;
		height: 50px;
		background: #c1c1c1;
	}
</style>
<body>
<wrapper>
	<div id="onclick"></div>
	<input type="button" value="Магия" id="magic">
</wrapper>
<div id="bg"></div>
</body>
<script>
	$('#onclick').click(function(){ alert('It`s click.') });
	$('#magic').click(function(){
		$('#wrapper').css('width', $('#wrapper').css('width'));
		$('body').css('overflow', 'hidden');
		$('#bg').show();
	})
</script>
Ответить с цитированием
  #6 (permalink)  
Старый 02.08.2013, 13:08
Профессор
Отправить личное сообщение для mta88 Посмотреть профиль Найти все сообщения от mta88
 
Регистрация: 16.05.2013
Сообщений: 229

Цитата:
Пытаюсь сделать блокиратор веб документа для принудительного логина
нефиг херней страдать

Цитата:
Через него проходит прокрутка страницы пользователем
согласен

Цитата:
не ловит на себе клики если под ним, например, кнопка или ссылка
не согласен
как это у вас получилось?
я бы сделал так
<body>
<div style="position: fixed; width: 100%; height: 100%; top: 0; left: 0; z-index: 1000000; background-color: rgba(100,0,0,0.5);"></div>
Ответить с цитированием
  #7 (permalink)  
Старый 04.08.2013, 00:13
Кандидат Javascript-наук
Отправить личное сообщение для jeysmook Посмотреть профиль Найти все сообщения от jeysmook
 
Регистрация: 24.04.2012
Сообщений: 118

Чтобы не прокручивалось нужно добавить:
html, body {
      overflow:hidden;
}
Ответить с цитированием
  #8 (permalink)  
Старый 06.08.2013, 16:50
Аспирант
Отправить личное сообщение для VitAl2013 Посмотреть профиль Найти все сообщения от VitAl2013
 
Регистрация: 27.05.2011
Сообщений: 67

так и не понял в чём именно собака порылась но добавив position top и left заработало как надо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбрать элемент у родителя которого сын это элемент по которому кликнули MalikSPB Events/DOM/Window 8 30.12.2012 12:22
Вытеснить элемент из потока Isaac (X)HTML/CSS 5 13.04.2012 15:14
Drag-n-Drop - перетянуть элемент Jugo ExtJS 1 10.08.2011 19:10
Как передать элемент в переменную из функции kichSman jQuery 3 12.07.2011 22:16
Кодировка при использовании Ajax Nichloas AJAX и COMET 9 17.09.2009 16:06