Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.05.2013, 20:18
Новичок на форуме
Отправить личное сообщение для Estiva Посмотреть профиль Найти все сообщения от Estiva
 
Регистрация: 15.05.2013
Сообщений: 3

Как создать свой оверлей с картинкой
function creatOverlay(){
  var docHeight = $(document).height();
 
  $("<div id='overlay'></div>")
  .appendTo("body")
  .height(docHeight)
  .css({
    'opacity': 0.4,
    'position': 'fixed',
    'top': 0,
    'left': 0,
    'background-color': 'black',
    'width': '100%',
    'z-index': 5000
  });
}

функция вызывается при клике на изображение на странице, подскажите, как добавить это изображение по центру созданного оверлея?
Ответить с цитированием
  #2 (permalink)  
Старый 15.05.2013, 22:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Estiva,
Вариант ...
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8" />
  <script src="https://code.jquery.com/jquery-latest.js"></script>
<script>
jQuery.fn.center = function()
	{
	var w = $(window);
	this.css("position","absolute");
	this.css("top",(w.height()-this.height())/2+w.scrollTop() + "px");
	this.css("left",(w.width()-this.width())/2+w.scrollLeft() + "px");
	return this;
	}
function creatOverlay(){
  var docHeight = $(document).height();
  $("<div id='overlay'></div>")
  .appendTo("body")
  .height(docHeight)
  .css({
    'opacity': 0.4,
    'position': 'fixed',
    'top': 0,
    'left': 0,
    'background-color': 'black',
    'width': '100%',
    'z-index': 5000
  });
  $(this).center().css({'z-index': 5001})
}
$(document).on({"click": creatOverlay}, "img")
</script>
</head>
<body>
<img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt="" >
</body>
</html>

Последний раз редактировалось рони, 22.04.2020 в 21:43.
Ответить с цитированием
  #3 (permalink)  
Старый 16.05.2013, 11:41
Новичок на форуме
Отправить личное сообщение для Estiva Посмотреть профиль Найти все сообщения от Estiva
 
Регистрация: 15.05.2013
Сообщений: 3

Сообщение от рони Посмотреть сообщение
Estiva,
Вариант ...
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8" />
  <script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
jQuery.fn.center = function()
	{
	var w = $(window);
	this.css("position","absolute");
	this.css("top",(w.height()-this.height())/2+w.scrollTop() + "px");
	this.css("left",(w.width()-this.width())/2+w.scrollLeft() + "px");
	return this;
	}
function creatOverlay(){
  var docHeight = $(document).height();
  $("<div id='overlay'></div>")
  .appendTo("body")
  .height(docHeight)
  .css({
    'opacity': 0.4,
    'position': 'fixed',
    'top': 0,
    'left': 0,
    'background-color': 'black',
    'width': '100%',
    'z-index': 5000
  });
  $(this).center().css({'z-index': 5001})
}
$(document).on({"click": creatOverlay}, "img")
</script>
</head>
<body>
<img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt="" >
</body>
</html>
Спасибо, это помогло, но можно ли как-нибудь оставлять картинку на основной странице, во время открытого оверлея? Я добавил затемненному слою метод remove() по клику, и изображение остается там же, где и было(по центру) и не возвращается назад без обновления страницы, пробую менять его position свойство, и тогда вообще все перестает работать.
Ответить с цитированием
  #4 (permalink)  
Старый 16.05.2013, 12:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Estiva,
запоминайте исходное положение картинки и при удалении слоя (не знаю вашего кода) возвращайте назад.
...далее мысли вслух ...
Сообщение от Estiva
можно ли как-нибудь оставлять картинку на основной странице, во время открытого оверлея?
...это для меня загадка...
Сообщение от Estiva
не возвращается назад без обновления страницы
...без коментариев.
Ответить с цитированием
  #5 (permalink)  
Старый 16.05.2013, 12:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Estiva,
Вариант ...
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8" />
  <script src="https://code.jquery.com/jquery-latest.js"></script>
<script>
jQuery.fn.center = function()
	{
	var w = $(window);
	this.css("position","absolute");
	this.css("top",(w.height()-this.height())/2+w.scrollTop() + "px");
	this.css("left",(w.width()-this.width())/2+w.scrollLeft() + "px");
	return this;
	}
function creatOverlay(){
  var docHeight = $(document).height();
  $("<div id='overlay'></div>")
  .appendTo("body")
  .height(docHeight)
  .css({
    'opacity': 0.4,
    'position': 'fixed',
    'top': 0,
    'left': 0,
    'background-color': 'black',
    'width': '100%',
    'z-index': 5000
  });
$(this).clone().appendTo("body").center().css({'z-index': 5001}).attr({'id' : 'cln'})
}
function remov()
{
    $("#overlay, #cln").remove();

}
$(document).on({"click": creatOverlay}, "img")
$(document).on({"click": remov}, "#overlay, #cln")
</script>
</head>
<body>
<img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt="" >
<img src="http://javascript.ru/forum/images/smilies/write.gif" alt="" >
</body>
</html>

Последний раз редактировалось рони, 22.04.2020 в 21:44.
Ответить с цитированием
  #6 (permalink)  
Старый 16.05.2013, 15:04
Новичок на форуме
Отправить личное сообщение для Estiva Посмотреть профиль Найти все сообщения от Estiva
 
Регистрация: 15.05.2013
Сообщений: 3

Спасибо, теперь все как надо
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать js файл в NODE.js develka AJAX и COMET 5 14.06.2012 01:30
Как получить URL, в случае совпадения с условиями - создать div? Intruder Общие вопросы Javascript 3 27.05.2012 02:10
Как создать загрузчик файлов? register Элементы интерфейса 2 20.02.2012 22:58
Подскажите код как создать эффект... lopraeph Элементы интерфейса 1 09.06.2011 20:18
как создать елемент с вложеными елементами scuter Events/DOM/Window 11 14.05.2008 16:15