Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   JS/CSS - Открытие модального окна (https://javascript.ru/forum/xhtml-html-css/70900-js-css-otkrytie-modalnogo-okna.html)

Алексей72 10.10.2017 17:08

JS/CSS - Открытие модального окна
 
Хотел поставить модальное окно вот таким кодом, но проблема в том, что у меня на сайте стоит скрипт плавной прокрутки к якорю и от этого он отказывается работать.

Подскажите пожалуйста как исправить? Если кому не сложно, исправьте ошибки или недочеты.

Сам скрипт который отвечает за плавную прокрутку который пересекает работу данного кода:
$(document).ready(function(){$('a[href^="#"], a[href^="."]').click(function(){var t=$(this).attr("href");return 0!=$(t).length&&$("html, body").animate({scrollTop:$(t).offset().top},1500),!1})});

<div class="popup" id="win1">Здесь то, что будет в окне. Можно форму обратной связи
  <a class="close" title="Закрыть" href="#close"></a>
</div>
<a href="#win1" rel="nofollow">Открыть окно</a>

Код:

.overlay {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
  display: none;
  background-color: rgba(0, 0, 0, 0.65);
  position: fixed;
  cursor: default
}
 
.overlay:target {
  //display: block
}
 
.popup {
  top: -100%;
  right: 0;
  left: 50%;
  font-size: 14px;
  z-index: 20;
  margin: 0;
  width: 85%;
  min-width: 320px;
  max-width: 600px;
  position: fixed;
  padding: 15px;
  border: 1px solid #383838;
  background: #FEFEFE;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
  font: 14px/18px 'Tahoma', Arial, sans-serif;
  -webkit-box-shadow: 0 15px 20px rgba(0, 0, 0, .22), 0 19px 60px rgba(0, 0, 0, .3);
  -moz-box-shadow: 0 15px 20px rgba(0, 0, 0, .22), 0 19px 60px rgba(0, 0, 0, .3);
  -ms-box-shadow: 0 15px 20px rgba(0, 0, 0, .22), 0 19px 60px rgba(0, 0, 0, .3);
  box-shadow: 0 15px 20px rgba(0, 0, 0, .22), 0 19px 60px rgba(0, 0, 0, .3);
  -webkit-transform: translate(-50%, -500%);
  -ms-transform: translate(-50%, -500%);
  -o-transform: translate(-50%, -500%);
  transform: translate(-50%, -500%);
  -webkit-transition: -webkit-transform .6s ease-out;
  -moz-transition: -moz-transform .6s ease-out;
  -o-transition: -o-transform .6s ease-out;
  transition: transform .6s ease-out
}
 
#win1:target {
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  -o-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  top: 20%
}
 
.close {
  top: -10px;
  right: -10px;
  width: 20px;
  height: 20px;
  position: absolute;
  padding: 0;
  border: 2px solid #CCC;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  -ms-border-radius: 15px;
  -o-border-radius: 15px;
  border-radius: 15px;
  background-color: rgba(61, 61, 61, 0.8);
  -webkit-box-shadow: 0 0 10px #000;
  -moz-box-shadow: 0 0 10px #000;
  box-shadow: 0 0 10px #000;
  text-align: center;
  text-decoration: none;
  font: 13px/20px 'Tahoma', Arial, sans-serif;
  font-weight: bold;
  -webkit-transition: all ease .8s;
  -moz-transition: all ease .8s;
  -ms-transition: all ease .8s;
  -o-transition: all ease .8s;
  transition: all ease .8s
}
 
.close:before {
  color: rgba(255, 255, 255, 0.9);
  content: "X";
  text-shadow: 0 -1px rgba(0, 0, 0, 0.9);
  font-size: 12px
}
 
.close:hover {
  background-color: rgba(252, 20, 0, 0.8);
  -webkit-transform: rotate(360deg);
  -moz-transform: rotate(360deg);
  -ms-transform: rotate(360deg);
  -o-transform: rotate(360deg);
  transform: rotate(360deg)
}

Вот в песочнице установка с скриптом. https://jsfiddle.net/gg5xb0vL/ Без него естественно работает все. Но он необходим так как сайт - лейдилинг

рони 10.10.2017 17:18

Алексей72,
добавить ссылкам открыть/закрыть какой-то класс
$('a[href^="#"], a[href^="."]').not('.какой-то класс').click(function(){

Алексей72 10.10.2017 19:18

рони, Не отвечает https://jsfiddle.net/gg5xb0vL/2/

рони 10.10.2017 19:23

Цитата:

Сообщение от рони
добавить ссылкам открыть/закрыть какой-то класс

где?

Алексей72 10.10.2017 19:26

рони, Да я не совсем умею работать с скриптами ((

рони 10.10.2017 19:28

Алексей72,
<a class="close veto" title="Закрыть" href="#close"></a>
<a href="#win1" rel="nofollow" class="veto" >Открыть окно</a>
.not('.veto').

Алексей72 10.10.2017 19:28

рони, Агааааа ))) Разобрался ... Заработало https://jsfiddle.net/gg5xb0vL/3/ Спасибо!!!

Алексей72 10.10.2017 19:33

рони, Не могу только понять как прописать чтобы было несколько окон меняя id .. Попробовал но все же одна и открывается ((

Алексей72 10.10.2017 19:40

Хотя нет.... Разобрался .. Вот рабочий на несколько окон https://jsfiddle.net/gg5xb0vL/6/

рони 10.10.2017 19:46

Цитата:

Сообщение от Алексей72
#win1:target


.popup:target
<div class="popup" id="win1">Здесь то, что будет в окне. Можно форму обратной связи
  <a class="close sf" title="Закрыть" href="#close"></a>
</div>
<a href="#win1" rel="nofollow" class="sf">Открыть окно</a>

<div class="popup" id="win2">Здесь то, что будет в окне. Можно форму обратной связи  2
  <a class="close sf" title="Закрыть" href="#close"></a>
</div>
<a href="#win2" rel="nofollow" class="sf">Открыть окно 2</a>


Часовой пояс GMT +3, время: 20:58.