Показать сообщение отдельно
  #8 (permalink)  
Старый 26.08.2014, 08:54
Аватар для Demath
Профессор
Отправить личное сообщение для Demath Посмотреть профиль Найти все сообщения от Demath
 
Регистрация: 22.06.2012
Сообщений: 168

Сообщение от jslgogo
Для одной ссылки одно окно
Сообщение от jslgogo
Demath - да, такое окно. Но, при выводе множества ссылок, окно не работает.
Т.е. вывожу ссылки в цикле (php). Первая ссылка показывает окно, остальные нет (странно, код ссылок то один).
Я хотел, чтобы любая ссылка выводила окно по центру экрана.
надо бы определиться, что именно нужно.

То есть для всех ссылок на странице должно всплывать одно и тоже окно?

<div class="postbody">Lorem ipsum dolor <a id="a1" href="#">sit amet</a>, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, <a id="a1" href="#">quis nostrud</a> exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia <a id="a1" href="#">deserunt mollit anim</a> id est laborum.</div>

<script>
window.onload = function(){
        
    function clientWidth(){ // Ширина окна просмотра
     return document.compatMode=='CSS1Compat' && !window.opera ? document.documentElement.clientWidth : document.body.clientWidth;
    }
    function clientHeight(){ // Высота окна просмотра
     return document.compatMode=='CSS1Compat' && !window.opera ? document.documentElement.clientHeight : document.body.clientHeight;
    }
    
    var a = document.getElementsByTagName('a'),
        n = a.length;

    while (n--)
    {  a[n].onclick = function(){
        if ( !document.getElementById('okno1') )
        { var okno = document.createElement('div'),
              oknoWidth = 350,
              oknoHeight = 100;
          okno.id = 'okno1';
          okno.style.position = 'fixed';
          okno.style.left = (clientWidth() - oknoWidth) / 2 + 'px';
          okno.style.top  = (clientHeight() - oknoHeight) / 2 + 'px';
          okno.style.width  = oknoWidth + 'px';
          okno.style.height = oknoHeight + 'px';
          okno.style.zIndex = '999';
          okno.style.boxSizing = 'border-box';
          okno.style.padding = '10px';
          okno.style.borderRadius = '7px';
          okno.style.background = 'rgba(237, 255, 238, 0.9)';
          okno.style.boxShadow  = '0 0 10px rgba(0, 0, 0, 0.5)';
          okno.innerHTML = '<div onclick="this.parentNode.parentNode.removeChild(this.parentNode)" title="Закрыть" '
                               +'style="position: absolute; top: 0; right: 8px; cursor: pointer; '
                               +'font: 28px/1 Arial; color: red;">×</div>'
                           +'<div style="text-align: center;">Всплывающее окно</div>';
          document.body.appendChild(okno);
        }
        return false;
       };
    }
};
</script>
Ответить с цитированием