- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Как сделать следующее
Есть кнопочка при нажатии на которую подгружается файл, проблема в том что нажимать на её можно бесконечно и скрипт выполняется вновь и вновь
Как сделать чтобы нажать на кнопку можно было только один раз?
Назначьте атрибут какой нибудь на кнопку. После нажатия замените или удалите его.
А в коде javascript сделайте проверку на наличие или соответствие этого атрибута.
Также можно инициализировать переменную, которая будет меняться при клике и потом проверять ее значение.
Вариантов много на самом деле.
Я могу написать пример, если нужно.
---------- Добавлено 23.12.2012 в 16:59 ----------
http://jsfiddle.net/sakx9/1/
суть понял
Значит нужно сделать так
после нажатия на кнопочку нужно заменить ее id, например на id="button2"
Было бы неплохо увидеть пример
все понял, спс =)
Да вариантов реализации много. Я накидал пример на jQuery. Ссылку указал выше.
наличие атрибута disable не запрещает другим функциям js отлавливать событие onclick ...
ну самый прикольный вариант, это создать некую переменную:
var stopajax=0;
и в каждой функции:
function xxx()
{
if (!stopajax) {
stopajax=1;
...........
...........
...........
...........
...........
...........
}
}
не забываем её сбрасывать.
Кстати я так стопорил на одном проекте, который было практически полностью на аяксе, без стопора ехало всё к чертям ибо юзер начинил просто тыкать много и часто, и сбивалась вёрстка и т.п.
... без стопора ехало всё к чертям ибо юзер начинил просто тыкать много и часто, и сбивалась вёрстка и т.п.
+, мы всегда на время отработки аякса весь экран закрываем полупрозрачным оверлеем, который любые (в том числе и повторные) клики блокирует до success или error (ну и максимум на 5-7 сек, на случай траблов непредвиденных)...
да да, вот и я тыкал тыкал и понял что будет печально если все это так оставить )))
юзеры то не будут ждать пока скрипт обработает все, а он примерно 4-7 секунд подготавливает вывод, за эти 7 секунд они 5к ударов по мыше произведут, а если юзеров за 1к будут хлопать, так вобще сервак потухнет вместе с дц )))
да да, вот и я тыкал тыкал и понял что будет печально если все это так оставить )))
юзеры то не будут ждать пока скрипт обработает все, а он примерно 4-7 секунд подготавливает вывод, за эти 7 секунд они 5к ударов по мыше произведут, а если юзеров за 1к будут хлопать, так вобще сервак потухнет вместе с дц )))
Для JQuery есть уже плагины, которые занимаются обработкой т.е. показывают прогресс бар.
Но можно и стандартно, просто слой поверх всего, как писали выше, с картинкой загрузки и надписи "Идёт обработка данных..."