2011-04-07 144 views
-1

我遇到了加载代码的问题。客户想要点击一个标签时会显示一个隐藏的加载器div,而当(通过点击)其他页面完全加载时,加载器将被隐藏。页面加载器问题

这里是示例代码

function pageLoaded(){ 
    var hideit = document.getElementById("loadUnload"); 
    hideit.style.display= "none"; 
} 
window.onload = pageLoaded; 
function pageUnloaded(){ 
    var showit = document.getElementById("loadUnload"); 
    showit.style.display= "block"; 
} 
window.addEventListener("load", pageLoaded, false); 
window.addEventListener("unload", pageUnloaded, false); 
window.addEventListener("unbeforeunload", pageUnloaded, false); 
window.onload = pageLoaded; 
function changeClass(elem, classDark,classSelected) { 
    for(objIndex = 0; objIndex < elem.parentNode.children.length; objIndex++) { 
     var obj = elem.parentNode.children[objIndex]; 
     if(obj.className == classSelected) obj.className = classDark; 
    } 
    elem.className = (elem.className == classDark)?classSelected:classDark; 
    elem.children[0].children[0].checked = (elem.className == classSelected) ? true : false; 
} 
function spinner(){ 
var lists = document.getElementsByTagName("a"); 
var spinnerdiv = document.getElementById("loadUnload"); 
    for (var i = 0; i < lists.length; i++) 
    { 
     lists[i].onclick = function(){ 
     spinnerdiv.style.display= "block"; 
     } 

    } 
} 






and the html code is like that 


<**div id="loadUnload"> 
    <**div id="loadingDiv" class="centered"><div class="text">loading...</div></div> 
<**/div> 
+0

你的问题是什么? – 2011-04-07 11:40:32

+0

你应该真的**使用'var'作为你的循环变量。否则,它们是全局的,并且只要具有相同循环变量名的循环(例如'i')嵌套(即使在不同的函数中),它们也可能会中断! – ThiefMaster 2011-04-07 11:50:59

+1

我的问题是=我怎么做到这一点 - 当点击一个标记隐藏的加载器div将被显示,当(通过点击)其他页面完全加载的加载器将被隐藏。 – tsdln 2011-04-07 11:58:01

回答

0

我建议你使用AJAX和Jquery。我相信这将是最好的方法,一旦你习惯使用它,它会解决你的问题。