Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 03.01.2018, 19:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

aarka,
сделайте минимальный макет, чтоб ваша проблема проявилась, чтоб не гадать, как у вас устроено, может кто-то откликнется.
Ответить с цитированием
  #12 (permalink)  
Старый 03.01.2018, 19:24
Интересующийся
Отправить личное сообщение для aarka Посмотреть профиль Найти все сообщения от aarka
 
Регистрация: 18.10.2017
Сообщений: 20

<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
* {
    box-sizing: border-box;
}

.button-origin {background-color:#fff;font-size:14px;color:#000;padding:6px 13px;border:1px solid #ccc;border-radius:3px;display:inline-block;text-align:center;max-width:150px;padding:15px 0;font-size:16px;font-weight:400;position: relative;
}

.spoiler_body {display:none;cursor:default;position:absolute;border: solid 1px #ececec;padding:10px; z-index:101;background-color: #fff;font-color:#333333;box-sizing:border-box;box-shadow:0px 0px 4px 1px #eee;-webkit-box-shadow:0px 0px 4px 1px #eee;-moz-box-shadow:0px 0px 4px 1px #eee;min-width:200px; width:auto; margin:auto; left:0;right:0;margin-top:5px;font-size:14px;}
.spoiler_body.open{
  display: inline-block;
}
</style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
  $(".button-origin").on("click", function() {
    $(".spoiler_body").addClass("open");
  });
  $("body").on("click", function(event) {
    $(event.target).closest(".spoiler_body, .button-origin").length || $(".spoiler_body").removeClass("open");
  });
});
  </script>
</head>

<body>
<div class="button-origin button">
<span>Оставить сообщение</span>
</div>
<div class="spoiler_body">Чтобы отправить сообщение необходимо войти или зарегистрироваться</div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quae hic rei publicae vulnera inponebat, eadem ille sanabat. Etsi qui potest intellegi aut cogitari esse aliquod animal, quod se oderit? Ut proverbia non nulla veriora sint quam vestra dogmata. Duo Reges: constructio interrete. Nos paucis ad haec additis finem faciamus aliquando; Utinam quidem dicerent alium alio beatiorem! Iam ruinas videres. Et ais, si una littera commota sit, fore tota ut labet disciplina. Quod quidem nobis non saepe contingit. Est enim tanti philosophi tamque nobilis audacter sua decreta defendere. </p>


</body>
</html>

Последний раз редактировалось aarka, 03.01.2018 в 19:52.
Ответить с цитированием
  #13 (permalink)  
Старый 03.01.2018, 19:35
Интересующийся
Отправить личное сообщение для aarka Посмотреть профиль Найти все сообщения от aarka
 
Регистрация: 18.10.2017
Сообщений: 20

рони,
Сделал, но даже по скриптингу вы единственный, кто отозвались и помогли)
Ответить с цитированием
  #14 (permalink)  
Старый 03.01.2018, 19:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

aarka,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
* {
    box-sizing: border-box;
}

.button-origin {background-color:#fff;font-size:14px;color:#000;padding:6px 13px;border:1px solid #ccc;border-radius:3px;display:block;text-align:center;max-width:100%;padding:15px 0;font-size:20px;font-weight:400;margin-left:70%;position: relative;
}

.spoiler_body {display:none;cursor:default;position:absolute;border: solid 1px #ececec;padding:10px; z-index:101;width:300px;background-color: #fff;font-color:#333333;box-sizing:border-box;box-shadow:0px 0px 4px 1px #eee;-webkit-box-shadow:0px 0px 4px 1px #eee;-moz-box-shadow:0px 0px 4px 1px #eee;min-width:200px;width:auto;margin:auto;left:0;right:0;margin-top:45px;font-size:14px;}
.spoiler_body.open{
  display: inline-block;
}
</style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
  $(".button-origin").on("click", function() {
    $(".spoiler_body").addClass("open");
  });
  $("body").on("click", function(event) {
    $(event.target).closest(".spoiler_body, .button-origin").length || $(".spoiler_body").removeClass("open");
  });
});
  </script>
</head>

<body>
<div class="button-origin button">
<span>Оставить сообщение</span>

<div class="spoiler_body">Чтобы отправить сообщение необходимо войти или зарегистрироваться</div></div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quae hic rei publicae vulnera inponebat, eadem ille sanabat. Etsi qui potest intellegi aut cogitari esse aliquod animal, quod se oderit? Ut proverbia non nulla veriora sint quam vestra dogmata. Duo Reges: constructio interrete. Nos paucis ad haec additis finem faciamus aliquando; Utinam quidem dicerent alium alio beatiorem! Iam ruinas videres. Et ais, si una littera commota sit, fore tota ut labet disciplina. Quod quidem nobis non saepe contingit. Est enim tanti philosophi tamque nobilis audacter sua decreta defendere. </p>


</body>
</html>

Последний раз редактировалось рони, 03.01.2018 в 20:09.
Ответить с цитированием
  #15 (permalink)  
Старый 03.01.2018, 19:55
Интересующийся
Отправить личное сообщение для aarka Посмотреть профиль Найти все сообщения от aarka
 
Регистрация: 18.10.2017
Сообщений: 20

Это понятно, я это сделал. А вот если размер кнопки по горизонтали уменьшился до 100px, а всплывающее окно к примеру 200px, то получается что оно не центрируется, а выводится не ровно, залезая за правый край... И эту проблему css походу не решить(
Ответить с цитированием
  #16 (permalink)  
Старый 03.01.2018, 20:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

aarka,
а зачем вам ширину сообщения указывать, если эта ширина зависит от ширины кнопки в данном html
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
* {
    box-sizing: border-box;
}

.button-origin {background-color:#fff;font-size:14px;color:#000;padding:6px 13px;border:1px solid #ccc;border-radius:3px;display:block;text-align:center;max-width:100%;padding:15px 0;font-size:20px;font-weight:400;margin-left:70%;position: relative;
}

.spoiler_body {display:none;cursor:default;position:absolute;border: solid 1px #ececec;padding:10px; z-index:101;background-color: #fff;color:#333333;box-sizing:border-box;box-shadow:0px 0px 4px 1px #eee;-webkit-box-shadow:0px 0px 4px 1px #eee;-moz-box-shadow:0px 0px 4px 1px #eee;width:auto;margin:auto;left:0;right:0;margin-top:45px;font-size:14px;}
.spoiler_body.open{
  display: inline-block;
}
</style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
  $(".button-origin").on("click", function() {
    $(".spoiler_body").addClass("open");
  });
  $("html").on("click", function(event) {
    $(event.target).closest(".spoiler_body, .button-origin").length || $(".spoiler_body").removeClass("open");
  });
});
  </script>
</head>

<body>
<div class="button-origin button">
<span>Оставить сообщение</span>

<div class="spoiler_body">Чтобы отправить сообщение необходимо войти или зарегистрироваться</div></div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quae hic rei publicae vulnera inponebat, eadem ille sanabat. Etsi qui potest intellegi aut cogitari esse aliquod animal, quod se oderit? Ut proverbia non nulla veriora sint quam vestra dogmata. Duo Reges: constructio interrete. Nos paucis ad haec additis finem faciamus aliquando; Utinam quidem dicerent alium alio beatiorem! Iam ruinas videres. Et ais, si una littera commota sit, fore tota ut labet disciplina. Quod quidem nobis non saepe contingit. Est enim tanti philosophi tamque nobilis audacter sua decreta defendere. </p>


</body>
</html>

Последний раз редактировалось рони, 03.01.2018 в 20:09.
Ответить с цитированием
  #17 (permalink)  
Старый 03.01.2018, 20:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

aarka,
если нужно сохранить текст в пределах сообщения
добавить
.spoiler_body.open{
display: inline-block; word-wrap: break-word;
}
Ответить с цитированием
  #18 (permalink)  
Старый 03.01.2018, 20:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

aarka,
вариант с break-word
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
* {
    box-sizing: border-box;
}

.button-origin {background-color:#fff;font-size:14px;color:#000;padding:6px 13px;border:1px solid #ccc;border-radius:3px;display:block;text-align:center;max-width:100%;padding:15px 0;font-size:20px;font-weight:400;margin-left:70%;position: relative;
}

.spoiler_body {display:none;cursor:default;position:absolute;border: solid 1px #ececec;padding:10px; z-index:101;background-color: #fff;color:#333333;box-sizing:border-box;box-shadow:0px 0px 4px 1px #eee;-webkit-box-shadow:0px 0px 4px 1px #eee;-moz-box-shadow:0px 0px 4px 1px #eee;width:auto;margin:auto;left:0;right:0;margin-top:45px;font-size:14px;}
.spoiler_body.open{
  display: inline-block;  word-wrap: break-word;
}
</style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
  $(".button-origin").on("click", function() {
    $(".spoiler_body").addClass("open");
  });
  $("html").on("click", function(event) {
    $(event.target).closest(".spoiler_body, .button-origin").length || $(".spoiler_body").removeClass("open");
  });
});
  </script>
</head>

<body>
<div class="button-origin button">
<span>Оставить сообщение</span>

<div class="spoiler_body">Чтобы отправить сообщение необходимо войти или зарегистрироваться</div></div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quae hic rei publicae vulnera inponebat, eadem ille sanabat. Etsi qui potest intellegi aut cogitari esse aliquod animal, quod se oderit? Ut proverbia non nulla veriora sint quam vestra dogmata. Duo Reges: constructio interrete. Nos paucis ad haec additis finem faciamus aliquando; Utinam quidem dicerent alium alio beatiorem! Iam ruinas videres. Et ais, si una littera commota sit, fore tota ut labet disciplina. Quod quidem nobis non saepe contingit. Est enim tanti philosophi tamque nobilis audacter sua decreta defendere. </p>


</body>
</html>
Ответить с цитированием
  #19 (permalink)  
Старый 03.01.2018, 20:28
Интересующийся
Отправить личное сообщение для aarka Посмотреть профиль Найти все сообщения от aarka
 
Регистрация: 18.10.2017
Сообщений: 20

Я просто изначально когда начал мудрить всплывающее окно, почему-то начал следовать такой структуре html. Да же не знаю, наверное потому что большинство схожих примеров... https://javascript.ru/forum/attachme...d=151500031 3 вот скрин проблемы, которую я описываю)) То есть, если кнопка стала меньше, то всплывающее окно не центрируется по горизонтали относительно кнопки(
Ответить с цитированием
  #20 (permalink)  
Старый 03.01.2018, 20:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

aarka,
что мешает сделать как в посте №18?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать всплывающее окно по центру экрана? jslgogo Общие вопросы Javascript 8 26.08.2014 09:18
Всплывающее окно Rooner jQuery 1 23.04.2014 13:15
Ячейка как ссылка (всплывающее окно на jquery)? Алекс-ми Javascript под браузер 0 17.05.2013 18:58
Пропадает меню при переводе курсора на всплывающее окно Adept_90 Элементы интерфейса 14 10.07.2012 21:34
Всплывающее окно - надо задать границы Anton-CS Элементы интерфейса 0 18.07.2011 10:55