2012-05-11 139 views
-1

JavaScript的任何原因都不是解雇?Javascript永远不会被调用

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 
<script type="text/javascript"> 

function ChangeDisplay() 
{ 
    alert("Changing"); 

    document.getElementById('warningDiv').innerHTML = "<h1>Change Text</h1>"; 
    setTimeout(finalize,6000); 
} 

function finalize() 
{ 
    alert("Done"); 
    document.getElementById('warningDiv').innerHTML="<h1>Done</h1>"; 
}​ 
</script> 

<h2> 
    Welcome to ASP.NET! 
</h2> 
<p> 
    <div id="warningDiv">Hello World</div> 
    ​ 
</p> 
<script> 
    window.onload = setTimeout(ChangeDisplay, 3000); 
</script> 

+2

WarnTheUser定义在哪里? –

+0

打字时发生错误,更改了原文。仍然不工作 –

+0

应该'window.onload = setTimeout(ChangeDisplay,3000);'是'window.onload = setTimeout(“ChangeDisplay()”,3000);'...不是很确定我的头顶,但看起来有趣相比http://www.w3schools.com/js/js_timing.asp – Chase

回答

3

任何理由JavaScript是不触发?

是的,WarnTheUser不存在,其他功能不被调用。

编辑:也许这是一个浏览器的问题,你可以使用jQuery,也许它的确与众不同:

$(document).ready(function() { setTimeout(ChangeDisplay, 3000) }); 

$(window).load(function() { setTimeout(ChangeDisplay, 3000) }); 

我不认为这是一个ASP。 NET问题。无论如何,你还没有展示过很多ASP.NET代码,你在使用Ajax吗?

+0

对不起,底部应该叫“ChangeDisplay”..看原来的更改 –

+0

@Developer:你可以试试jQuery(编辑我的答案)。 –

0

SOLUTION

嗯,看来

<script type="text/javascript">  
    window.onload = setTimeout(ChangeDisplay(), 3000); 
</script> 

没有工作,因此所有的各种技巧的感谢。

所有......减去在帖子上做了“-1”的那个。
永远不要理解为什么人们这样做。

+1

这没有任何意义。 'ChangeDisplay'返回void,所以当然在这种情况下,它立即被触发(不是在3秒内),它将'void'传递给'setTimeout' ... –

相关问题