JavaScript タイミング イベント



JavaScript を使用すると、関数が呼び出された直後ではなく、設定された時間間隔の後にコードを実行できます。これをタイミング イベントと呼びます。

JavaScript でタイミング イベントを使用するのは非常に簡単です。主なメソッドは次の 2 つです:

  • setInterval() - 指定されたコードを指定されたミリ秒数で継続的に実行します。

  • setTimeout() - 指定されたミリ秒間一時停止した後、指定されたコードを実行します

注: setInterval() と setTimeout() は、HTML DOM Window オブジェクトの 2 つのメソッドです。


setInterval()メソッド

setInterval()は、指定されたコードを指定されたミリ秒間連続して実行します

Syntax

window.setInterval("javascript function",ミリ秒);

window.setInterval()メソッドは、ウィンドウプレフィックスを使用せずに関数setInterval()を直接使用できます。

setInterval() 最初のパラメータは関数です。

2 番目のパラメータ間のミリ秒数

注: 1000 ミリ秒は 1 秒です。

インスタンス

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<p>单击按钮每3秒出现一个“Hello”警告框。</p>
<p>再次点击警告框,经过3秒出现新的警告框,这将一直执行 ...</p>
<button onclick="myFunction()">点我</button>
<script>
function myFunction(){
	setInterval(function(){alert("Hello")},3000);
}
</script>

</body>
</html>

インスタンスの実行 »

「インスタンスの実行」ボタンをクリックしてオンラインインスタンスを表示します

インスタンスは setInterval() メソッドの使用方法を示していますが、3 秒ごとにポップアップ表示されるわけではありませんユーザーエクスペリエンスにとっては良いことです。

次の例では、現在の時刻が表示されます。 setInterval() メソッドは、時計と同じように、コードが毎秒実行されるように設定します。

インスタンス

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<p>在页面显示一个时钟</p>
<p id="demo"></p>
<script>
var myVar=setInterval(function(){myTimer()},1000);
function myTimer(){
	var d=new Date();
	var t=d.toLocaleTimeString();
	document.getElementById("demo").innerHTML=t;
}
</script>

</body>
</html>

インスタンスの実行 »

「インスタンスの実行」ボタンをクリックしてオンラインインスタンスを表示します


実行を停止するには

clearInterval() メソッドを使用して関数コードを停止します。 setInterval() メソッドの実行。

文法

window.clearInterval(intervalVariable)

window.clearInterval()メソッドは、ウィンドウプレフィックスと関数clearInterval()なしで直接使用できます。

clearInterval() メソッドを使用するには、タイミング メソッドの作成時にグローバル変数を使用する必要があります:

myVar=setInterval("javascript function",ミリ秒);

その後、clearInterval() メソッドを使用して実行を停止できます。

インスタンス

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<p>页面上显示时钟:</p>
<p id="demo"></p>
<button onclick="myStopFunction()">停止时钟</button>
<script>
var myVar=setInterval(function(){myTimer()},1000);
function myTimer(){
	var d=new Date();
	var t=d.toLocaleTimeString();
	document.getElementById("demo").innerHTML=t;
}
function myStopFunction(){
	clearInterval(myVar);
}
</script>

</body>
</html>

インスタンスの実行 »

「インスタンスの実行」ボタンをクリックしてオンラインインスタンスを表示します


setTimeout() メソッド

構文

window.setTimeout("javascript function",ミリ秒);

setTimeout() メソッドは特定の値を返します。上記のステートメントでは、値は t という名前の変数に格納されます。このsetTimeout()をキャンセルしたい場合は、この変数名で指定できます。

setTimeout() の最初のパラメータは、JavaScript ステートメントを含む文字列です。このステートメントは、「alert('5 秒!')」のようなもの、または、alertMsg() などの関数の呼び出しである可能性があります。

2 番目のパラメーターは、最初のパラメーターが現在時刻から何ミリ秒後に実行されるかを示します。

ヒント: 1000 ミリ秒は 1 秒に相当します

インスタンス

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<p>点击按钮,在等待 3 秒后弹出 "Hello"。</p>
<button onclick="myFunction()">点我</button>
<script>
function myFunction(){
	setTimeout(function(){alert("Hello")},3000);
}
</script>

</body>
</html>

オンライン インスタンスを表示するには、[インスタンスの実行] ボタンをクリックしてください

arTimeout () メソッドは、setTimeout() メソッド関数コードの実行を停止するために使用されます。 clearTimeout() メソッドを使用する場合は、タイムアウト メソッド (setTimeout) で使用するグローバル変数を作成する必要があります。ただし、関数コードの実行を停止するには、clearTimeout() メソッドを使用できます

Example

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<p>点击第一个按钮等待3秒后出现"Hello"弹框。</p>
<p>点击第二个按钮来阻止第一个函数运行。(你必须在3秒之前点击它)。</p>
<button onclick="myFunction()">点我</button>
<button onclick="myStopFunction()">停止弹框</button>
<script>
var myVar;
function myFunction(){
	myVar=setTimeout(function(){alert("Hello")},3000);
}
function myStopFunction(){
	clearTimeout(myVar);
}
</script>

</body>
</html>

サンプルの実行»
オンラインサンプルを表示するには、[サンプルの実行] ボタンをクリックしてください

。その他の例

別の簡単なタイミング
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<head>
<script>
function timedText(){
	var x=document.getElementById('txt');
	var t1=setTimeout(function(){x.value="2 seconds"},2000);
	var t2=setTimeout(function(){x.value="4 seconds"},4000);
	var t3=setTimeout(function(){x.value="6 seconds"},6000);
}
</script>
</head>
<body>
	
<form>
<input type="button" value="显示文本时间!" onclick="timedText()" />
<input type="text" id="txt" />
</form>
<p>点击上面的按钮,输出的文本将告诉你2秒,4秒,6秒已经过去了。</p>
</body>

</html>
インスタンスの実行»

「インスタンスの実行」ボタンをクリックしてオンラインインスタンスを表示します