积累下来的问题如下:
1、js页面计时器setInterval clearInterval
2、onbeforeunload
3、ckplayer插件调用
4、数值类型的转换
本文先记录1和 4 这两点:js 页面计时器,数值类型转换
javascript主要有以下三种数据类型转换方式:
-
转换函数:parseInt()和parseFloat()分别将值转换成整数和浮点数。
-
强制类型转换:Boolean(value)、Number(value)、String(value)将给定的值分别转换成逻辑值、数字(整数或浮点数)及字符串。
-
弱类型自动转换:字符串与数字进行数学操作符运算时,字符串会自动转为数字。
实例演示:将文本框的值转化成数值型
var a = document.getElementById("num1").value; var b = document.getElementById("num2").value; var c1 = parseFloat(a) + parseFloat(b); // 函数转换 var c2 = Number(a) + Number(b); // 强制类型转换 var c3 = a*1 + b*1; // a*1将自动转化为数字类型
//-----------------------------------------------------------------------------页面计时器--------------
下面是页面计时器
var intX; //这个必须写在startX函数外或不写,stopX才有效。 var testtms = 0; var calcEnergyPoint = 0; function startX() { intX = setInterval(func, 1000) //通过函数调用setInterval时,第一个参数不可以用"func()"这种形式,只能直接用函数名 var dT = document.getElementById("oDiv_showCurrTime"); function func() { var dTime = new Date(); // dT.innerHTML = dTime.toLocaleTimeString(); dT.innerHTML = testtms + " : " + intX + " : " + dTime.toLocaleTimeString(); testtms++; calcEnergyPoint++; parInfo.seeVideoTime = testtms; if (calcEnergyPoint % 2 == 0) { parInfo.energyPoint += 5; calcEnergyPoint = 0; // 设置能量点加5 var oldEnergyPoint = $("#energyPointTop").html(); var newEnergyPoint =parseInt( oldEnergyPoint) + 5; $("#energyPointTop").html(newEnergyPoint); } } } function stopX() { window.clearInterval(intX) //注意!如果var intX定义在startX内,则无法清除! }
//-------------------页面计时器代码结束
一部分变量用了全局变量的对象。减少全局变量的污染(红色字体部分)
数值转换:连接 连接2
计时器使用: 链接1 连接2