Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.03.2013, 00:16
Интересующийся
Отправить личное сообщение для Tolys Посмотреть профиль Найти все сообщения от Tolys
 
Регистрация: 05.03.2013
Сообщений: 17

Повторный клик по ссылке через время
Подскажите, как реализовать скрипт, который запретит часто нажимать на ссылку, точнее запретит на время. Если быть совсем точным, то человек после нажатия ссылки повторно сможет нажать только через час, например
Ответить с цитированием
  #2 (permalink)  
Старый 06.03.2013, 00:19
Интересующийся
Отправить личное сообщение для Tolys Посмотреть профиль Найти все сообщения от Tolys
 
Регистрация: 05.03.2013
Сообщений: 17

Мне подсказали в чате код, но я толком не смог разобраться:
onclick="var a = this.href, t = this; t.href ='#'; setTimeout(function() { t.href = a }, 1000)"

Хотелось бы на примере посмотреть
Ответить с цитированием
  #3 (permalink)  
Старый 06.03.2013, 05:01
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

При клике по ссылке запоминаешь время в localStorage. При последующем клике сначала проверяешь сколько времени прошло, и в случае чего предотвращаешь переход по ссылке.
Ответить с цитированием
  #4 (permalink)  
Старый 06.03.2013, 08:25
Интересующийся
Отправить личное сообщение для Tolys Посмотреть профиль Найти все сообщения от Tolys
 
Регистрация: 05.03.2013
Сообщений: 17

а можно на примере показать?
Ответить с цитированием
  #5 (permalink)  
Старый 06.03.2013, 08:46
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от danik.js
При клике по ссылке запоминаешь время в localStorage. При последующем клике сначала проверяешь сколько времени прошло, и в случае чего предотвращаешь переход по ссылке.
Мне больше понравилась идея выше...
Вот мой вариант

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
$(document).ready(function (){
	$('a').click(function (){
		var o=$(this);
		if (o.data('on')==0) {
			alert('Действие приостановлено');
			return
		};
		alert('Действие выполнено');
		o.data('on',0);
		setTimeout(function (){
			o.data('on',1);
		},3000);
	});
});
</script>
</head>
<body>
<a href='#' data-on='1'>test</a>
</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 06.03.2013, 09:10
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Я думал под ссылкой подразумевается ссылка, а не кнопка. Почему люди не хотят называть вещи своими именами?
<a href="#">Ссыль</a>
<script>
    var delay = 1000 * 2; // 2с
    var link = document.querySelector('a');
    link.onclick = function() {
        var lastTime = +localStorage.lastTime;
        var nowTime = +new Date();
        if (lastTime && (lastTime + delay > nowTime)) {
            alert ('Низя!');
            return false;
        } else {
            localStorage.lastTime = nowTime;
        }
    }
</script>
Ответить с цитированием
  #7 (permalink)  
Старый 06.03.2013, 09:29
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от danik.js
Я думал под ссылкой подразумевается ссылка
Х/з чего там у автора...
Ответить с цитированием
  #8 (permalink)  
Старый 06.03.2013, 12:53
Интересующийся
Отправить личное сообщение для Tolys Посмотреть профиль Найти все сообщения от Tolys
 
Регистрация: 05.03.2013
Сообщений: 17

danik.js,
неплохая идея))
Ответить с цитированием
  #9 (permalink)  
Старый 06.03.2013, 12:56
Интересующийся
Отправить личное сообщение для Tolys Посмотреть профиль Найти все сообщения от Tolys
 
Регистрация: 05.03.2013
Сообщений: 17

а вот ещё вопрос, этот скрипт будет сразу для всех выполняться или для каждого персонально?
Ответить с цитированием
  #10 (permalink)  
Старый 06.03.2013, 13:01
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от Tolys
этот скрипт будет сразу для всех выполняться или для каждого персонально?
На какому элементу присвоиш обработчик - на том и будет выполняться.

В примере присваивается всем элементам "a"...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Появление и исчезновение картинки(объекта) через определенное время. _D1m0n_ Общие вопросы Javascript 27 23.06.2015 15:16
Клик по ссылке через каждое №-ое количество времени. lamer Элементы интерфейса 12 17.03.2012 10:17
Совершение действия через опредилённое время. (Sandr) Общие вопросы Javascript 15 15.04.2011 23:40
Повторное действие скрипта через определенное время fortitudo jQuery 8 27.01.2010 06:00
клик по ссылке и сбивание скролла жбан Общие вопросы Javascript 3 06.05.2009 10:32