我的代码是:
function changeText()
{
document.getElementById('button').innerHTML = 'Downloading...';
}
按钮:
<button id = "button" onclick='changeText()' value='Change Text'>Download file as CSV</button>
我希望按钮更改为“正在下载...”,然后在几秒钟之后返回“以CSV格式下载”,这是否可以在JS中使用?
答案 0 :(得分:5)
您可以使用setTimeout
或成功进行异步调用:
function changeText() {
document.getElementById('button').innerHTML = 'Downloading...';
setTimeout(previousText, 1000);
}
function previousText() {
document.getElementById('button').innerHTML = 'Download file as CSV';
}
&#13;
<button id="button" onclick='changeText()' value='Change Text'>Download file as CSV</button>
&#13;
答案 1 :(得分:4)
document.getElementById("your-button").value="Downloading...";
setTimeout(function () {
document.getElementById("your-button").value="Download as CSV";
}, 3000);
上面的代码设置按钮的文本,然后等待3秒,然后将按钮文本设置为另一个字符串。
答案 2 :(得分:1)
此代码将在2000ms后恢复旧文本,但您可以自定义超时。
function changeText() {
var button = document.getElementById('button');
var oldText = button.innerHTML;
button.innerHTML = 'Downloading...';
setTimeout(function(){
button.innerHTML = oldText;
}, 2000);
}