Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как сделать клик по элементу только один раз в день (https://javascript.ru/forum/events/72072-kak-sdelat-klik-po-ehlementu-tolko-odin-raz-v-den.html)

Alexodiy 05.01.2018 18:00

Как сделать клик по элементу только один раз в день
 
Здравствуйте.

Ситуация такая... есть кнопка

<button class="modal" title="">Заказать звонок</button>


при клике по кнопке, средствами jquery запускается модальное окно. Как сделать так, чтобы при загрузке страницы, спустя 10 секунд происходил клик по этой кнопке (можно по классу цепануть), но при этом, чтобы клик срабатывал только 1 раз в день для пользователя.

Пожалуйста, подскажите как это сделать средствами javascript:-?

ksa 06.01.2018 11:17

Цитата:

Сообщение от Alexodiy
Как сделать так, чтобы при загрузке страницы, спустя 10 секунд происходил клик по этой кнопке

Как вариант...
<button class="modal" title="">Заказать звонок</button>
<script type='text/javascript'>
(function(){
	var o=document.querySelector('button');
	o.addEventListener('click',function(){
		alert('Ok');
	})
	setTimeout(function(){
		o.click();
	},10000);
})();
</script>

ksa 06.01.2018 11:18

Цитата:

Сообщение от Alexodiy
но при этом, чтобы клик срабатывал только 1 раз в день для пользователя

А как у тебя происходит идентификация пользователя?

Alexodiy 10.01.2018 07:29

Цитата:

Сообщение от ksa (Сообщение 474387)
А как у тебя происходит идентификация пользователя?

Никак, может быть как нибудь на куках завязать

ksa 10.01.2018 08:28

Цитата:

Сообщение от Alexodiy
может быть как нибудь на куках завязать

Тогда, после клика, записывай в куки текущую дату. А перед кликом читай, если совпадает с текущей - не кликай.

Только это идентификация машины, а не пользователя... :)

Alexodiy 19.01.2018 12:56

Вы можете показать пример реализации, у меня что то не получается

Dilettante_Pro 19.01.2018 13:59

В данной ситуации, наверное, проще localStorage
<button id="test">Кнопка</button>
<script>
document.querySelector('#test').onclick = function() {
   var dt = new Date().toDateString();
   if(dt != localStorage.getItem('date')) {
         alert('Кликнулось!');
        localStorage.setItem('date', dt);
    }
}
</script>

ksa 19.01.2018 15:23

Цитата:

Сообщение от Alexodiy
у меня что то не получается

Показал бы на моем примере чего ты там ваяешь...


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