如何在onclick JS函数之后返回前一个文本?

时间:2015-09-08 14:03:03

标签: javascript function

我的代码是:

    function changeText()
{
 document.getElementById('button').innerHTML = 'Downloading...';
}

按钮:

<button id = "button" onclick='changeText()' value='Change Text'>Download file as CSV</button>

我希望按钮更改为“正在下载...”,然后在几秒钟之后返回“以CSV格式下载”,这是否可以在JS中使用?

3 个答案:

答案 0 :(得分:5)

您可以使用setTimeout或成功进行异步调用:

&#13;
&#13;
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;
&#13;
&#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);
}