在这个代码中的问题

来源:8-17 编程练习

街角疯

2017-03-13 17:35

这里我将代码复制到hbuilder中后,发现点击返回没有反应,其次当倒计时完结时弹出的页面是这样子的为什么呢?那里有问题吗?还有这里不需要清除定时器吗?那一般什么情况需要清除定时器?

http://img.mukewang.com/58c667bf000184f113660736.jpg


写回答 关注

2回答

  • 一颗心的星空
    2017-03-13 19:33:56
    已采纳

    if(num==0){location.assign("www.imooc.com"); }网址写全http://www.imooc.com就行了

    这里地址要写仔细“http://www.imooc.com/”。后面的/最好也写,好像写了/可以少发一次请求,具体有点忘了。

    我可能讲的不是很专业,大概是这样一个原因:你没写http://,它就默认‘www.imooc.com’在html文件的目录下加载。如果写全了网址,就能识别说这是一个完整的网站,并不是在目录下

    这类问题应该很早就会碰到的,可能你以前没注意这个点。

    街角疯

    非常感谢!

    2017-03-14 14:42:45

    共 1 条回复 >

  • Mr春娇与志明
    2017-03-13 19:22:52

    弹出新页面你可以用这个方法:

    if(sum==0){window.open('http://www.imooc.com',target='_blank')}

    当sum<0,清除定时器:

    if(sum<0){document.getElementById("txt").innerHTML="0";}



    详细代码如下:

    <!DOCTYPE HTML>

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    <title>编程练习</title>

    </head>

    <body>

    <h1>操作成功!</h1>

    <span id="txt">5</span>

    <span>秒后自动跳转</span>

    <a href="javascript:window.history.go(-1)">返回</a>


    <script type="text/javascript">

    var sum=document.getElementById("txt").innerHTML;

    function mydemo(){

    sum=sum-1;

    document.getElementById("txt").innerHTML=sum;

    if(sum==0){window.open('http://www.imooc.com',target='_blank')

    }

    if(sum<0){document.getElementById("txt").innerHTML="0";}

    }

    setInterval(mydemo,1000);



    </script>


    </body>

    </html>







JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468065 学习 · 21891 问题

查看课程

相似问题