Javascript.RU

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

Затемнение экрана
Добр Всем! Подсккажите пожалуйста! Как сделать чтобы при всплывающем окне на сайте WordPress
затухал экран (сайт). Код всплывающего окна простой:
<a onmouseover='this.style.cursor="pointer" ' onfocus='this.blur();' 
onclick="document.getElementById('PopUp').style.display='block'">
<span style="text-decoration: underline;">Текст ссылки для открытия окна</span></a>

<div id='PopUp' style='display: none; position: absolute; overflow: auto; 
overflow-x: hidden; right: 400px; top: 50px; border: solid black 1px; padding: 10px; 
background-color: rgb(255,255,225); text-align: justify; font-size: 12px; height: 300px; width: 635px;'>

Кнопка закрытия окна

<br /><div style='text-align: right;'><a onmouseover='this.style.cursor="pointer" ' 
style='font-size: 12px; top: 5px;' onfocus='this.blur();' 
onclick="document.getElementById('PopUp').style.display = 'none' " >
<span style="text-decoration: underline;">закрыть</span></a></div>

Текст окна

Есть блок:

<style>
#opPopUp {
background: #000;
height: 100%;
opacity: 0.5;
position: fixed;
width: 100%;
z-index: 100;
top: 0;
left: 0;
}

</style>

Так вот вопрос??? как вписать в функцию открытия окна opPopUp Заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 21.05.2015, 01:15
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
  <style>
    .wrapper {
      width: 75%;
      margin: auto;
    }

    .popup {
      width: 30%;
      background: #fff;
      position: fixed;
      top: 50%;
      left: 50%;
      z-index: 1000;
      display: none;
      box-shadow: 2px 2px 10px #ccc;
      display: 
    }

    .overlay {
      background: #000;
      opacity: 0.5;
      position: fixed;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      z-index: 999;
      display: none;
    }

    .content {
      position: relative;
      padding: 30px;
    }

    .close {
      position: absolute;
      top: 10px;
      right: 50px;
      width: 20px;
      height: 20px;
      cursor: pointer;
      line-height: 20px;
      color: red;
    }
  </style>
</head>
<body>
  <div class="wrapper">
    <h1>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</h1>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ducimus optio, natus quae architecto cum id assumenda obcaecati laboriosam at quo iste repellendus reiciendis maiores perferendis eaque sint. Impedit, voluptate, quis.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam repudiandae aspernatur, molestias reprehenderit inventore nemo ipsa cupiditate tempore quas labore aut facilis dignissimos at, perspiciatis accusantium totam, error cumque, aliquam!</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Praesentium dicta id facilis sint repudiandae distinctio minima architecto quae quam sapiente dignissimos ratione saepe, culpa nesciunt ad dolor, ipsam, temporibus in.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Repellat, impedit excepturi assumenda iste architecto nemo maxime, sed recusandae illo illum nulla. Sint, cum. Voluptas omnis, provident eligendi alias atque nemo.</p>

    <button class="button">Open popup</button>
  </div>

  <div class="popup">
    <div class="content">
      <div class="close">Закрыть</div>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Perspiciatis non distinctio quod, asperiores quaerat commodi sequi modi nam facere at, nisi possimus corporis iste ipsa. Adipisci nobis possimus autem facilis.
    </div>
  </div>
  <div class="overlay"></div>

  <script>
    (function() {
      var popup = document.querySelector('.popup'),
          overlay = document.querySelector('.overlay'),
          close = document.querySelector('.close'),
          button = document.querySelector('.button');

      button.addEventListener('click', function() {
        overlay.style.display = "block";
        popup.style.display = "block";
        positionCenter(popup);
      });

      close.addEventListener('click', function() {
        popup.style.display = "none";
        overlay.style.display = "none";
      });

      function positionCenter(elem) {
        var elemHeight = window.getComputedStyle(elem).height,
            elemWidth = window.getComputedStyle(elem).width;
        elem.style.marginTop = "-" + parseInt(elemHeight) / 2 + "px";
        elem.style.marginLeft = "-" + parseInt(elemWidth) / 2 + "px";
      }
    })();
  </script>
</body>
</html>

Последний раз редактировалось Decode, 21.05.2015 в 15:07.
Ответить с цитированием
  #3 (permalink)  
Старый 21.05.2015, 01:43
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,672

Decode, окно просмотра можно по высоте увеличивать
Ответить с цитированием
  #4 (permalink)  
Старый 21.05.2015, 21:18
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Интересно а в винде еще не сделали такую фичу? Ну, типа вызвал диспетчер задач или открыл свойства компа - и все остальное погрузилось во тьму?

Я понимаю что идет контент поверх контента, но есть же стандартные методы отделения контента от контента. Самый известный - широкие поля. Задал 20-30 пикселов и тенюхой с маленьким bias'ом подбил и проканает.

Последний раз редактировалось kostyanet, 21.05.2015 в 21:20.
Ответить с цитированием
  #5 (permalink)  
Старый 21.05.2015, 21:27
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Оправдано с алертами. Внезапное появление диалога может остаться незамеченным. Но когда мессага вываливается в ответ на действие юзера, она ожидаема и если уж совсем не сделана плохо, будет заметной и без баянов на всю истошную.

Поначалу я юзал системный конфирм с вопросом а правда надо удалить товар из корзины? Типа а зачем делать удаление красивым. Потом сам не вытерпел этого дебильного оверлея и написал-таки собственный конфирм. Ну как конфирм - колбэк-конфирм.
Ответить с цитированием
  #6 (permalink)  
Старый 22.05.2015, 00:18
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

kostyanet, заведи себе блог.
Ответить с цитированием
  #7 (permalink)  
Старый 22.05.2015, 09:52
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

На раньше чем вы почитаете у Лескова про то, что англичане ружья кирпичом не чистят.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скроллинг и затемнение экрана Nailya (X)HTML/CSS 13 30.09.2013 17:48
Использование window.open() для позиционирования окна в середине экрана marat-chessman Events/DOM/Window 13 14.08.2011 20:20
Снятие затемнения с экрана при получении ответа от php срипта с помощью setInterval roma86 jQuery 0 16.08.2009 12:39
Изменение размера блока реклама в зависимости от разрешения экрана. toxiz77 Общие вопросы Javascript 3 11.02.2009 14:12
Реклама, в зависимости от ширины экрана Asdvin Общие вопросы Javascript 21 22.01.2009 18:27