最近有时间,觉得应该整理一下,额,就从很久之前的基础开始吧,正好也巩固下,菜鸟需要扎实基础。

下面是一个简单的调查表,因为没有写任何样式,所以就是简单的表单输入框之类的。选择“男”或者“女”时,会出现对应的开支项,效果如下:

      

当时我就想,在网上经常会看见那种提示几秒后跳转至某某页面之类的,那我能不能在出现结果后也加一个这样的小效果呢,于是就动手了 (^∇^*)

很简单,在outPrint()函数中,打印结果的时候,也打印个提示“将在3秒后跳转至百度首页”:

function outPrint(name,age,money,result) {
var str = "你好" + name + ",现在" + age + "岁," + "月收入" + money + ",月结余:" + result;
document.write(str + "<br>" + "将在3秒后跳转至百度首页"); // setTimeout()延迟执行的方法。3秒后,该页面跳转至指定页面
setTimeout(function () {
location.href = "https://www.baidu.com/";
}, 3000); }

但是,这个时间没有倒计时啊,还是有倒计时比较好,幸好有注释的好习惯,不然这么久,都不记得当时琢磨的艰辛之路了 O(∩_∩)O~

想着加个定时器就可以了:

function outPrint(name,age,money,result){
var str = "你好" + name +",现在" + age + "岁," + "月收入" + money + ",月结余:" + result ;
document.write( str + "<br>"); //倒计时
var t = 3;//设定跳转的时间
setInterval(function(){
document.write( t + "秒后跳转至百度首页" );
t--; // 计数递减
if(t==0){
location="http://www.baidu.com"; //设定跳转的链接地址
} },1000); }

没想到倒计时是有了,可是文字也重复打印:

能不能在定时器打印中只打印t??

function outPrint(name,age,money,result){
var str = "你好" + name +",现在" + age + "岁," + "月收入" + money + ",月结余:" + result ;
document.write( str + "<br>"); //倒计时
var t = 3;//设定跳转的时间
setInterval(function(){
document.write( t ); //
t--; // 计数器递减
if(t==0){
location="http://www.baidu.com"; //设定跳转的链接地址
}
},1000); document.write("秒后跳转至百度首页" );
}

额,结果是不能:

后来,在查资料的时候发现 document.close() 方法是用来关闭输出流的,所以,可以在页面每次输出“t秒后跳转至百度首页” 后,把之前的输出关闭,每秒调用定时器函数和倒计时同步,所以关闭输出应该放在定时器函数中。

function outPrint(name,age,money,result){
var str = "你好" + name +",现在" + age + "岁," + "月收入" + money + ",月结余:" + result ;
document.write( str + "<br>");
setTimeout(function(){ //可以给用户2秒的时间看结果
document.close();
//倒计时
var t = 3;//设定跳转的时间
setInterval(function(){
document.write( t + "秒后跳转至百度首页" );
t--; // 计数器递减
if(t==0){
location="http://www.baidu.com"; //设定跳转的链接地址
}
document.close();
},1000);
},2000);

最终效果:

       

JS笔记一的更多相关文章

  1. Data Visualization and D3.js 笔记(1)

    课程地址: https://classroom.udacity.com/courses/ud507 什么是数据可视化? 高效传达一个故事/概念,探索数据的pattern 通过颜色.尺寸.形式在视觉上表 ...

  2. js笔记-0

    #js笔记-0 数组: indexOf方法: Array也可以通过indexOf()来搜索一个指定的元素的位置: var arr = [10, 20, '30', 'xyz']; arr.indexO ...

  3. PPK谈JS笔记第一弹

    以下内容是读书笔记,再一次温习JS好书:PPK谈JS window.load=initializePageaddEventSimple('window','load',function(){}) lo ...

  4. 面向小白的JS笔记 - #Codecademy#学习笔记

    前言 最初浏览过<JavaScript秘密花园>,前一段时间读过一点点<JavaScript语言精粹>和一点点<JavaScript高级程序设计>(一点点是指都只是 ...

  5. require.js笔记

    笔记参考来源:阮一峰  http://www.ruanyifeng.com/blog/2012/10/javascript_module.html   1. 浏览器端的模块只能采用“异步加载”方式 = ...

  6. JS笔记 入门第四

    小测试: 注意:取消所有的设定可以直接使用 document.getElementById("txt").removeAttribute("style"); 这 ...

  7. JS笔记 入门第二

    输出内容 document.write(); alert("hello!"); alert(mynum); </script> 注:alert弹出消息对话框(包含一个确 ...

  8. Node.js笔记1

    Node.js入门笔记 1. node -help 可以显示帮助信息2. node REPL 模式(Read-eval-print loop) 输入—求值—输出循环 直接在cmd输入node 可以进入 ...

  9. JS笔记 入门第一

    WHY? 一.你知道,为什么JavaScript非常值得我们学习吗? 1. 所有主流浏览器都支持JavaScript. 2. 目前,全世界大部分网页都使用JavaScript. 3. 它可以让网页呈现 ...

  10. 奇舞js笔记——第0课——如何写好原生js代码

    摘要 1.好的代码职责要清晰,javscript不要用来操作样式: 2.API要设计的合理:通用性,适度的抽象(数据抽象,过程抽象),可扩展性: 3.效率问题:用好的.合适的算法(前端程序员要把自己当 ...

随机推荐

  1. asp.net mvc5 伪静态

    asp.net mvc5 伪静态 WebForm Mvc4和5通用 1.背景:老项目WebForm开发 需要 融合到新项目Mvc5开发 2.需求:Url地址TruckDetail.aspx?id=45 ...

  2. .NET 接口

    接口      接口是一组抽象成员的集合,表示某个类或结构可以选择去实现的行为,描述的是可属于任何类或结构的一组相关功能.接口方法的实现是在实现接口的类中完成的,实现接口的类可以显式实现该接口的成员, ...

  3. C#调用webservice简单实例

    如何利用IIS创建webservice不多做阐述,直接讲C#代码中如何调用已创建好的webservice. 首先在VS2010中新建一个工程项目,然后右键点击工程名选择添加服务引用. 在URL一栏中输 ...

  4. union和union all 合并查询

    union联合查询 SELECT TOP ID,oTitle Title,oInfo Description,Pic Images AND UpTime > dateadd(day,-,UpTi ...

  5. VS2010+C#+EmguCV 配置详解

    在VS2010(VC10)中配置能使用C#开发语言调用Open CV视觉库的方法如下.众所周知,能供C#使用的OpenCV库叫:Emgu CV.注意用C#开发的话,是不需要单独安装OpenCV的,em ...

  6. [笔记]HTML

    链接 <a href="链接地址">链接显示名</a> <a name="C4">target</a> < ...

  7. 【Mybatis框架】查询缓存(一级缓存)

    做Java的各位程序员们,估计SSH和SSM是我们的基础必备框架.也就是说我们都已经至少接触过了这两套常见的集成框架.当我们用SSH的时候,相信很多人都接触过hibernate的两级缓存,同样,相对应 ...

  8. springMVC含文件上传调用ajax无法连接后台

    springMVC在使用ajax进行后台传值的时候发现找不到对应的requestMapping(""),无法进入后台,在多次试验后确定是 MultipartFile对象与ajax冲 ...

  9. getter & setter

    ECMAScript 5: setter和getter的使用方式: 1.set/get: var person = { _name: '', get name() { return this._nam ...

  10. Qt里获取目录的一个另类方法

    如果有一个文件的全路径文件名, 想获取它的路径的话, qt里我没找到比较好的办法, 都是cleanPath后, 再用QString的find, left这种函数来处理. 今天又在搞这种问题的时候, 看 ...