Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

как сделать одноразовый запуск JS при нажатии на кнопку с параметром onclick?

Леша Гришаев Знаток (349), закрыт 4 года назад
в html:
onclick="uc()"
в js:
function uc() {
setTimeout(function spectext() {
var wrapper = document.querySelector(".wrapper");
var text = document.querySelector(".text");

var textCont = text.textContent;
text.style.display = "none";
for (var i = 0; i < textCont.length; i++) {
(function(i) {
setTimeout(function() {
// Created textNode to append
var texts = document.createTextNode(textCont[i])
var span = document.createElement('span');
span.appendChild(texts);

span.classList.add("wave");
wrapper.appendChild(span);

}, 200 * i);
}(i));
}
} , 3000 , -1);

}
// конец js
И как сделать так чтобы при только одном нажатии на кнопку срабатывал js?
Лучший ответ
Dimon Petroskii Профи (898) 4 года назад
Перед функцией задайте переменную let isClicked = false;

В самой функции задайте
function uc() {
if (isClicked) return;
*** ваш код функции ***
isClicked = true;
}
Леша ГришаевЗнаток (349) 4 года назад
Спасибо за помощь!!!
Dimon Petroskii Профи (898) и Вам спасибо)
Остальные ответы
www www Искусственный Интеллект (123083) 4 года назад
Введите некую глобальную переменную которую меняйте при первом запуске. А в начале условие - на соответствие и выход из скрипта...
Elepsis Eclipse Оракул (64086) 4 года назад
onclick="uc(this)"

function uc(elem) {
  elem.setAttrbiute("onclick", "");

  setTimeout( // ...остальной код.
Леша ГришаевЗнаток (349) 4 года назад
Спасибо за помощь!!! Извините, что выбрал не вас, просто у того человека меньше баллов я решил его поддержать.
Похожие вопросы