Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> setTimeout onclick
GET  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3890
Пользователь №: 21196
На форуме: 7 лет, 3 месяца, 22 дня
Карма: 87




Привет, как валидно сделать задержку нажатия на кнопку ссылку, скажем не чаще раза в 3 секунды:

setTimeout(
$("#key").click(function(){
alert("ok");
}), 3000);


Как то не доходили руки до setTimeout вроде так же как то должно быть?


--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 15383
Пользователь №: 4190
На форуме: 9 лет, 4 месяца, 19 дней
Карма: 470




Не так. Делаешь обычный джейкверевский обработчик нажатия кнопки. Внутри него делаешь вызов setTimeout, в котором уже вызываешь функцию, выполняющую нужные тебе действия.
Думаю, что этого тебе достаточно, чтобы код написать smile.gif Он того же уровня сложности, что у тебя уже сделан.


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GET  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3890
Пользователь №: 21196
На форуме: 7 лет, 3 месяца, 22 дня
Карма: 87




function time(time=0;) 
$("#key").click(function(){
if(time==0){
alert'ok';
time=1;
}

setTimeout(time(),3000)
});


Да сделал примерно так вот, чтоб не расписывать...


--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 15383
Пользователь №: 4190
На форуме: 9 лет, 4 месяца, 19 дней
Карма: 470




Нет!!!! Не так. А вот так:
Цитата (sergeiss @ 17.01.2014 - 23:19)
Делаешь обычный джейкверевский обработчик нажатия кнопки. Внутри него делаешь вызов setTimeout, в котором уже вызываешь функцию, выполняющую нужные тебе действия.

ВНУТРИ обработчика вызываешь setTimeout, а уже эта функция вызывает основной обработчик.
Если не ошибся в коде, то так:
$("#key").click(function(){

setTimeout( alert( 'OK') ,3000)
});


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GET  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3890
Пользователь №: 21196
На форуме: 7 лет, 3 месяца, 22 дня
Карма: 87




sergeiss

Ну а почему не так?

Распишу:
var time=0;
$("#key").click(function(){
function time(){time=0;}//переопределяет time

if(time==0 || a==b)//a==b еще одно условие, которое не зависит от t
{
alert ('ok');
time=1;// не дает работать
}

setTimeout(time(),3000);//через 3 секунды вызовет time и переназначит
});


--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 15383
Пользователь №: 4190
На форуме: 9 лет, 4 месяца, 19 дней
Карма: 470




Цитата (ABC @ 17.01.2014 - 23:43)
Ну а почему не так?

Ты выполни мой код и свой код, о результатах расскажешь... Практика - лучший ответчик на такие вопросы smile.gif Только мой код не меняй, а возьми "как есть".

Впрочем... Мой код даст задержку выполнения нажатия на 3 секунды. Ты это хочешь получить или что-то другое?

Это сообщение отредактировал sergeiss - 17.01.2014 - 23:46


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GET  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3890
Пользователь №: 21196
На форуме: 7 лет, 3 месяца, 22 дня
Карма: 87




sergeiss

Да я выполнил, мой работает. Думаю твой тоже все же понятно вроде...или нет. smile.gif


--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GET  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3890
Пользователь №: 21196
На форуме: 7 лет, 3 месяца, 22 дня
Карма: 87




sergeiss

У меня несколько кнопок делающих айкс запросы ...для некоторых из них нежедательно многотыканье, а для других можно


--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GET  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3890
Пользователь №: 21196
На форуме: 7 лет, 3 месяца, 22 дня
Карма: 87




Цитата
а для других можно

это a==b



--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 15383
Пользователь №: 4190
На форуме: 9 лет, 4 месяца, 19 дней
Карма: 470




Я посмотрел, понял, что не совсем правильно тебя понял :)

Да, можно сделать, как ты сделал. Но как-то это "не красиво". И не универсально - ты не назначишь такой обработчик для нескольких кнопок, причем так, чтобы у каждой из них был свой таймер.

Допустим, у тебя не одна кнопка, а целая их группа... Можно "красивее" и универсальнее сделать.

<input class="press-delay" data-time="1" ...>



<script>
$('.press-delay').click( function() {
var time=$(this).data('time');
if( time == 0 )
return;

time=0;
var key=this;
setTimeout( function() { time =1;}, 3000);

</
script>
});


Вот так попробуй. Можно даже для каждой кнопки установить индвидуальный таймер :) Если записать его в data.

Это сообщение отредактировал sergeiss - 18.01.2014 - 00:07


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GET  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3890
Пользователь №: 21196
На форуме: 7 лет, 3 месяца, 22 дня
Карма: 87




sergeiss

Спасибо. smile.gif


--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 15383
Пользователь №: 4190
На форуме: 9 лет, 4 месяца, 19 дней
Карма: 470




Да на здоровье... Кстати, там "очепятка" была, в имени переменной в одном месте. Я ее исправил.


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GET  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3890
Пользователь №: 21196
На форуме: 7 лет, 3 месяца, 22 дня
Карма: 87




Цитата
там "очепятка" была


да...да я видел, спасибо.


--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса