2016-03-02 75 views
0

我在Javascript中有一个函数,用于更改WordPress管理器中显示的一些文本。以下代码将向h1标记添加文本,并向某些定位标记添加display none。我遇到的问题是有1-2秒钟,它显示旧文本和链接正在显示。我试图找出是否有办法消除这种延迟,因此用户不知道文本正在改变。JavaScript - 消除文本替换的延迟

var replaceText = function() { 
    var Wrapper = document.getElementById("wrap"); 

    var Header = Wrapper.getElementsByTagName("h1"); 
    Header[0].innerHTML = "Backup and Restore"; 

    var topLinks = Wrapper.getElementsByTagName("a"); 
    for(var i = 1; i < 10; i++) { 
     topLinks[i].style.display = "none"; 
    } 

} 

function init(){ 
    replaceText(); 
} 

window.onload = init; 
+0

如果你不关心IE <9',那么使用'DOMContentLoaded'事件来做这样的DOM操作..或者使用'css' =>'#wrap a {display:none} – Rayon

回答

0

我们无法消除它们之间的延迟。

加载窗口后,您正在调用init函数。这意味着你的html和css首先被加载,直到那时你试图从javascript隐藏的元素不会被隐藏。所以,你可以坚持使用css解决方案来隐藏它们,然后当你想让它们显示时,你可以使用javascript。