Показать сообщение отдельно
  #3 (permalink)  
Старый 07.09.2018, 13:57
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Artur_Hopf
Внутри функции работает setTomeout, и если вызвать первую функцию как то еще, она дублируется.
Сам вопрос, как вызвав эту функцию например с кнопки, чтобы обновление старой функции прекратилось?
Если я правильно понял "вопрос", то как вариант...

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
	test('One');
});
function test (data){
	consol(data);
}
function consol(data){
	if (consol.id!==undefined) {
		clearTimeout(consol.id);
	};
	$("#hello").text(data+' '+new Date());
	consol.id=setTimeout(function() { 
		consol(data);
	}, 2000); 
}
</script>
</head>
<body>
<button onclick="test('Two')">Вызов функции</button>
<div id="hello"></div>
</body>
</html>
Ответить с цитированием