2016-09-12 3 views
-1

Итак, я хочу создать простую кнопку, которая повторяет щелчок по функции. Пример:Кнопка повтора функции?

function example() { 
document.write("Example") 
} 

На данный момент функция работает только:

Example 

Но я хочу знать, как сделать простую кнопку, которая может, например, сделать это, если нажимали 3 раза:

Example 
Example 
Example 
Example 

Я также не возражаю, если вначале ничего нет, и кнопка просто запускает функцию в первый раз, пока другие результаты отображаются под последними (-ами). Как мне это сделать? Спасибо!

+0

Не уверен, что вы пытаетесь сказать здесь, если вы привязываете событие к нажатию кнопки, он будет выполняться каждый раз, когда нажимается эта кнопка. –

+0

Im kinda новичок извините, это именно то, что я хочу сделать. Итак, как вы привязываете событие к кнопке? (Также я думаю, что я уже пробовал это, но кнопка исчезла после того, как она была нажата один раз ...) –

+0

О, хорошо. Теперь я вижу вашу проблему. Ваша проблема заключается в вызове функции document.write, когда вы это делаете; он вытирает все содержимое страницы и записывает все, что вы проходите. Поэтому, когда вы нажимаете на кнопку, она стирает кнопку и записывает пример строки. Таким образом, вы должны просто сделать «console.log», если вы пытаетесь проверить нажатие кнопки. В коде нет ничего плохого; это просто способ выполнения функции document.write. –

ответ

1
function doRepeat(funct, times){ 
    (function recurse(){ 
     funct(); 
     times--; 
     if(times) recurse(); 
    })(); 
} 

Эта функция будет повторять другую функцию определенное количество раз. Используйте его, как это ...

// will call your example function 50 times. 
doRepeat(example, 50); 

редактировать .. как отмечено в комментариях вашей кнопка перезаписи document.write(). вы должны были объяснить, что причина, по которой вы не можете повторить эту функцию, состоит в том, что кнопка исчезает.

вы НИКОГДЕ НЕ используйте document.write. в этом случае лучшим вариантом является innerHTML. Не забудьте также добавить разрыв строки.

function example() { 
    document.body.innerHTML += "Example<br>"; 
} 
+0

объясните свой голос –

+0

И что, если я хочу запустить его «определенное количество раз» вместо «» за определенное количество времени »? (Im not the downvoter) –

+0

Это не в вопросе, поэтому не является веской причиной для того, чтобы donwvote. –

2

function example() { 
 

 
    document.getElementById("demo").innerHTML += "example</br>"; 
 
}
<!DOCTYPE html> 
 
<html> 
 
<body> 
 

 
<button type="button" onclick="example()">click</button> 
 

 
<p id="demo"></p> 
 

 

 
</body> 
 
</html>

Надеется, что это помогает.

Смежные вопросы