两段JS代码,对比下,为什么第二段代码可以执行,第一段执行效果不跟预期的一样啊?

是这样的,每当来问问提问的时候,提交内容后总是会出现:xxx秒后转到问问首页所以,就自己写了一段JavaScript代码,但是,执行之后总是不跟我预期的效果一样,然后朋友... 是这样的,每当来问问提问的时候,提交内容后总是会出现:xxx秒后转到问问首页所以,就自己写了一段JavaScript代码,但是,执行之后总是不跟我预期的效果一样,然后朋友帮我写了,执行效果就对了。可是,我对比了两短代码,应该是效果一样的啊!大家帮忙看看:看看哪里是不yi//下面是我做的:<script language="javascript">
var c=4;
window.setTimeout("window.open('dom.asp')",5000);
p=window.setInterval(ffff,1000);
if(c=0)
{
window.clearInterval(p);
}
function ffff()
{
c--;
document.write(c+"秒之后转到另一个页面。")</script>下面是我朋友做的:<div align="center">剩下 <span id="second">5</span> 秒</div>
<script language ="javascript">
var dsecond = document.getElementById('second');
var t = dsecond.innerHTML;
window.setInterval("Reduce()",1000);
function Reduce(){
t--;
dsecond.innerText = t; //这个是朋友做的!
}我自己对比了一下,感觉没有什么不同啊。请大家跟我说说为什么,谢谢!
展开
 我来答
匿名用户
2013-12-13
展开全部
你的方法错就错在了“document.write(c+"秒之后转到另一个页面。")”document.write方法是向当前的document也就是当前页面写入内容,但写入你这行内容后,其他的内容也被覆盖了(包括你的js程序),所以程序就没办法再执行下去了。而你朋友是用了一个span他之是将span中的文字进行替换,所以不影响程序运行,所以只要将你朋友的代码稍加更改就是你想要的了 <div align="center">剩下 <span id="second">5</span> 秒</div><script language="javascript">var dsecond = document.getElementById('second');
var t = dsecond.innerHTML;
window.setInterval("Reduce()",1000);
function Reduce(){
t--;
dsecond.innerText = t; //这个是朋友做的!
if (t==0) document.location='dom.asp';
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-13
展开全部
写一函数,将变量 减去1 if 变量=0 页面跳转要实现那个功能只需 递归 调用自身函数 就行了 function updateinfo(){
if(wait == 0){ 页面跳转....
}
else{
wait--;
window.setTimeout("updateinfo()",speed);
}
}
Window.onload="updateinfo();"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-13
展开全部
这不是我做的吗? 原因是 document.write会在一个新的页面显示 你发现用的那个方法 浏览器有一个后退按钮 所以不行 我写的那个方法就不会有这个情况了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式