Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   При клике не подключается скрипт (https://javascript.ru/forum/misc/69405-pri-klike-ne-podklyuchaetsya-skript.html)

laimas 20.06.2017 14:31

Цитата:

Сообщение от SkyRewir
arcticmodal-срабатывает автоматически при уходе курсора с активной области сайта.

И каким образом к этому событию имеет отношение <a href="#">Форма!</a>? Эта кнопка, что в адресной строке браузера расположена?

SkyRewir 20.06.2017 14:35

Я не могу понять как вызывается форма crm'ки по клику на
<a href="#">Форма1</a>

Изначально у неё нет onclick, onclick-это моя попытка через изменение переменной N отключить, обработчик <script src="libs/arcticmodal/config.js">

SkyRewir 20.06.2017 14:47

Цитата:

Сообщение от laimas
И каким образом к этому событию имеет отношение <a href="#">Форма!</a>? Эта кнопка, что в адресной строке браузера расположена?

Это не кнопка, а просто ссылка
<a href="#">Форма1</a>
расположена на сайте, когда клиент на неё нажимает, всплывает форма crm'ки. Когда эта форма crm'ки всплыла, клиент "пойман"
Если клиент "не пойман" нужно чтобы отработал скрипт <script src="libs/arcticmodal/config.js"></script>

laimas 20.06.2017 16:29

Ранее был вопрос - как не показывать arcticmodal если какая либо форма отправлялась. Вроде бы вопрос решен.

Теперь что тоже самое, но по наличию вызова формы crm?

Пойман, не не пойман, с этим в полицию. А тут конкретно ставьте задачу и категориями понятными. Лично я ничего не понял. )

SkyRewir 20.06.2017 18:58

Цитата:

Сообщение от laimas (Сообщение 456046)
Ранее был вопрос - как не показывать arcticmodal если какая либо форма отправлялась. Вроде бы вопрос решен.

Теперь что тоже самое, но по наличию вызова формы crm?

Пойман, не не пойман, с этим в полицию. А тут конкретно ставьте задачу и категориями понятными. Лично я ничего не понял. )

Честно я сам уже запутался)

Попробую начать сначала)
Есть index.html с таким содержанием
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<header>
		<a href="#">Заказать звонок</a> <!--Ссылка по нажатию на которую всплывает crm-форма-->
		<a href="#">Написать нам</a> <!--Ссылка по нажатию на которую всплывает crm-форма-->
	</header>
	<div class="content">
		Lorem ipsum dolor sit amet, consectetur adipisicing elit. Omnis similique deleniti repudiandae aliquam natus voluptatibus, odit obcaecati provident sequi dolorum molestiae quod modi corporis porro sit, ullam mollitia accusantium quos.
	</div>
	<footer>
		<a href="#">Заказать звонок</a> <!--Ссылка по нажатию на которую всплывает crm-форма-->
		<a href="#">Написать нам</a> <!--Ссылка по нажатию на которую всплывает crm-форма-->
	</footer>
	
	<div class="modalInner" style="display: none;"> <!-- Всплывающий модальный диалог-->
		<div class="offer">	<!--За него отвечает <script src="libs/arcticmodal/config.js"></script>-->
			<input type="text">
			<input type="text">
			<input type="text">
			<input type="text">
			<input type="text">
			<button type="submit" class="button_popup">Отправить</button>
		</div>
	</div>
	<script src="libs/arcticmodal/config.js"></script>
</body>
</html>

Если человек нажимает на одну из них
<a href="#">Заказать звонок</a>
<a href="#">Написать нам</a>

Модальный диалог не всплывал
<div class="modalInner" style="display: none;"> <!-- Всплывающий модальный диалог-->
		<div class="offer">	<!--За него отвечает <script src="libs/arcticmodal/config.js"></script>-->
			<input type="text">
			<input type="text">
			<input type="text">
			<input type="text">
			<input type="text">
			<button type="submit" class="button_popup">Отправить</button>
		</div>
	</div>

Надеюсь получилось объяснить)

laimas 21.06.2017 04:19

Цитата:

Сообщение от SkyRewir
Если человек нажимает на одну из них
<a href="#">Заказать звонок</a>
<a href="#">Написать нам</a>

Цитата:

Сообщение от SkyRewir
Надеюсь получилось объяснить

Не знаю, может и получилось. Но если речь о том же, что было и по поводу форм, то в обработчиках событий нажатий этих кнопок нужно устанавливать куку, так же, как это делалось и при отправлении формы.

SkyRewir 21.06.2017 18:48

А если как-нибудь так?
Содержание index.html
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<header>
		<a href="#" class="feedbackOn">Заказать звонок</a> <!--Ссылка по нажатию на которую всплывает crm-форма-->
		<a href="#" class="sendmailOn">Написать нам</a> <!--Ссылка по нажатию на которую всплывает crm-форма-->
	</header>
	<div class="content">
		Lorem ipsum dolor sit amet, consectetur adipisicing elit. Omnis similique deleniti repudiandae aliquam natus voluptatibus, odit obcaecati provident sequi dolorum molestiae quod modi corporis porro sit, ullam mollitia accusantium quos.
	</div>
	<footer>
		<a href="#" class="feedbackOn">Заказать звонок</a> <!--Ссылка по нажатию на которую всплывает crm-форма-->
		<a href="#" class="sendmailOn">Написать нам</a> <!--Ссылка по нажатию на которую всплывает crm-форма-->
	</footer>
	
	<div class="modalInner" style="display: none;"> <!-- Всплывающий модальный диалог-->
		<div class="offer">	<!--За него отвечает <script src="libs/arcticmodal/config.js"></script>-->
			<input type="text">
			<input type="text">
			<input type="text">
			<input type="text">
			<input type="text">
			<button type="submit" class="button_popup">Отправить</button>
		</div>
	</div>
	<script src="libs/arcticmodal/config.js"></script>
</body>
</html>


Содержание config.js
$(document).ready(function() {
    
  var count = 0;
  $('.sendmailOn, .feedbackOn').on('click', function(event){
        count = 1;
        alert(count);
        return count;
      }
    );

  if (count > 0) { return false}
  else{
  (function($) {
    $(function() {

      if (!$.cookie('smartCookies') && count == 0) {
        function getWindow() {
          $('.offer').arcticmodal({
            closeOnOverlayClick: true,
            closeOnEsc: true
          });
          $('#mark').addClass("good");
        };

        $('html').mouseleave(function(e) {
          if ((e.clientY < 0) && !($("#mark").hasClass("good"))) {
            getWindow()
          }
        });

      }

      $.cookie('smartCookies', true, {
        expires: 31,
        path: '/'
      });

    })
  })(jQuery)
}
  $('.fff').submit(function() {
    if (!$(this).find('input:checked').length) {
      alert('Выберите один из вариантов');
      return false
    }
    $.cookie('smartCookies', true, {
      expires: 31,
      path: '/'
    });
  }).find('input:checkbox').change(function() {
    $(this).closest('.form-group').find('input:text').prop('required', this.checked).attr('placeholder', this.checked ? 'Напишите комментарий' : '')
  });
});

При нажатии на ссылкы переменной count присваиваетя 1
if (count > 0) {function getWindow(){ return false}}
else {getWindow()}

Все что я смог придумать, возможно заставить эту штуку работать?

laimas 21.06.2017 18:55

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

Вопрос - что нужно сделать, чтобы запретить показывать ее при щелчке на чем-то, по всплыванию неких форм или окон и т.д., и т.п.?

Сколько можно об этом говорить?

SkyRewir 21.06.2017 20:03

$('.sendmailOn, .feedbackOn').on('click', function(event){
$.cookie('smartCookies', true, {
expires: 31,
path: '/'
});
}
Так?
);

laimas 21.06.2017 20:05

Так. Так как в коде такая установка неоднократно, можно прописать этот код

$.cookie('smartCookies', true, {
    expires: 31,
    path: '/'
});


в какую либо функцию, и вызывать ее вместо постоянного приписывания этого кода.


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