Показать сообщение отдельно
  #20 (permalink)  
Старый 01.12.2016, 16:02
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Мой вариант без недостатка вроде живой
<style>
.popup {
  position:fixed;
  top:40%;
  left:40%;
  display:none;
  font-size: 20pt;
  background-color:lightgreen
}
</style>
<button id='i1' value='0'>Mess1</button>  <!-- value - индекс для сообщения -->
<button id='i2' value='1'>Mess2</button>
<button id='i3' value='2'>Mess3</button>
<button id='i4' value='3'>Mess4</button>
<div class='popup'></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
messages =['Сообщение 1','Сообщение 2','Сообщение 3','Сообщение 4'];  // набор сообщений
$('button').on( "click" , function(e) {              // клик по кнопке
                
    $('.popup').css('display','block');               // показ блока
    $('.popup').text(messages[$(this).val()]);   // вставка нужного сообщения в блок
       setTimeout(                                       // ksa сказал зачем 
            function ()
            {
                 $('body').on('click', closePopup)  // включение закрытия по клику везде
            }
        );
        return false;    
});
function closePopup(event) {           // описание закрытия по клику везде
  var obj=event.target||event.srcElement; // кликнутый элемент
  if ($(obj).hasClass('popup'))  return;      // кроме клика по popup
  $('.popup').css('display','none');            // закрытие блока
  $('body').off('click', closePopup);           // выключение закрытия по клику везде
};

</script>

Последний раз редактировалось Dilettante_Pro, 01.12.2016 в 16:44.
Ответить с цитированием