我有几个代码片段。基本上,我想需要的是,当用户点击按钮时,输出应该延迟2-5秒。如果短信来了更方便,请稍等...单击按钮时(但不在按钮文本中)。或者像预加载器那样的“加载图像”。
请提供任何帮助/建议
function yes() {
var button = document.getElementById('test');
var name = document.getElementById('name');
var age = document.getElementById('age');
var location = document.getElementById('location');
var str = 'Hello! <p> My name is Ashish</p><p>How Are You: ' + name.value +
'';
document.getElementById('test').innerHTML = str;
};<label>
Your Name:
<input id="name" />
</label>
<br />
<button onclick="yes()">Test</button>
<p id="test"></p>
发布于 2021-06-24 15:01:37
使用延迟函数const delay = (dur) => new Promise((r) => setTimeout(r, dur));可以得到如下结果:
const delay = (dur) => new Promise((r) => setTimeout(r, dur));
async function yes() {
var button = document.getElementById('test');
var name = document.getElementById('name');
var age = document.getElementById('age');
var location = document.getElementById('location');
document.getElementById('test').innerHTML = "Please wait a while ...";
await delay(1000);
var str = 'Hello! <p> My name is Ashish</p><p>How Are You: ' + name.value +
'';
document.getElementById('test').innerHTML = str;
};<label>
Your Name:
<input id="name" />
</label>
<br />
<button onclick="yes()">Test</button>
<p id="test"></p>
或者一个简单的超时setTimeout(yes, 1000)
function yes() {
var button = document.getElementById('test');
var name = document.getElementById('name');
var age = document.getElementById('age');
var location = document.getElementById('location');
console.log("clicked on Test-Button");
var str = 'Hello! <p> My name is Ashish</p><p>How Are You: ' + name.value +
'';
document.getElementById('test').innerHTML = str;
};<label>
Your Name:
<input id="name" />
</label>
<br />
<button onclick="setTimeout(yes, 1000)">Test</button> <!-- timeout -->
<p id="test"></p>
https://stackoverflow.com/questions/68110938
复制相似问题