小型倒计时定时器:innerText的浏览器兼容问题

没想到一个小的定时器居然会卡了壳,var seconds=50;

function clock(){

seconds--;//=seconds;

setText(document.getElementById(‘count-down‘),seconds);

if(seconds>0) setTimeout(clock,1000);//alert(seconds);

}

这是一个很简单的函数,利用setTimeout写在clock函数内部并进行调用clock实现递归循环,从而达到定时器的功能,获取div内容(其id 为count-down),并根据seconds的变化给该div重新赋值,我们即可在屏幕上观察到时间的变化,可是这时出现了问题,

起初我用的是document.getElementById(‘count-down‘).innerText=seconds;结果在屏幕上时间并无变化,未达到所需效果,那么问题出现在哪里呢,我alert了一下document.getElementById(‘count-down‘).innerText==null,结果发现居然输出了true,要知道,我的div内容最开始赋的值就是50啊。

恩,有错误了,今天早上起来百度了一下innerText的用法,结果发现了问题,昨天我测试的环境是firefox,恰好innerText在firefox浏览器下是不支持的,它用textContent来替换innerText。于是,我把document.getElementById(‘count-down‘).innerText=seconds;替换成了setText(document.getElementById(‘count-down‘),seconds);

而setText(element,content)则是自己定义的函数来达到兼容firefox浏览器的结果。

function setText(element,content)

{

if(element.innerText)

element.innerText=content;

else

element.textContent=content;

}

恩,小小定时器搞定,当然在这里你要是用innerHTML是不存在问题的,因为innerHTML是去掉最外面的html标签而保留内部的html标签,而此时我们的div内部木有什么html标签哦。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-29 00:02:13

小型倒计时定时器:innerText的浏览器兼容问题的相关文章

innerText Textcontent浏览器兼容代码

设置标签中的文本内容,应该使用textcontent属性,谷歌,火狐支持    IE8不支持 设置标签中的文本内容,应该使用textcontent属性,谷歌,火狐,IE8都支持 如果这个属性在浏览器中都不支持,那么这个属性的类型是“undefined” 判断这个属性的类型是不是“undefined”,就知道浏览器是否支持 //设置任意的标签中间的任意文本内容 function setInnerText (element,text){ //判断浏览器是否支持这个属性 if(type element

浏览器兼容问题innerText nextElementSibling firstElementChild

//浏览器兼容 //获dom对象的innerText的取值 function getInnerText(element){ //判断浏览器是否支持innerText if(typeof element.innerText==="string"){ return element.innerText; }else{ return element.textContent; } } //设置dom对象innerText的值 function setInnerText(element,conte

JavaScript中浏览器兼容问题

浏览器兼容性问题是在实际开发中容易忽略而又最重要的一部分.我们在讲老版本浏览器兼容问题之前,首先要了解什么是能力检测,它是来检测浏览器有没有这种能力,即判断当前浏览器是否支持要调用的属性或者方法.下面做了一些简短的介绍. 1.innerText 和 innerContent 1)innerText 和 innerContent 的作用相同 2)innerText IE8之前的浏览器支持 3)innerContent 老版本的Firefox支持 4)新版本的浏览器两种方式都支持 // 老版本浏览器

JavaScript常见火狐Firefox、IE浏览器兼容问题

1.关于event的用法 IE 中可以直接使用 event 对象,而 FF 中则不可以 解决方法一:var theEvent = window.event || arguments.callee.caller.arguments[0]; 解决方法二:是将 event 作为参数来传递function xxx(e){var theEvent = window.event || e;} 2.事件对象获取 IE:event.srcElement Mozilla:event.target Mozilla下

对浏览器兼容问题的解决方案

目前,最为流行的浏览器共有五个:分别是ie,Edge浏览器(属于微软),火狐,谷歌(chrome)Safari和Opera五大浏览器. Trident内核:IE ,360,,猎豹,百度: Gecko内核:火狐----------->这个浏览器内核是开源的浏览器内核,插件非常多,-------------->缺点:打开速度慢(加载flash插件)<-----额外介绍----->. Presto内核:Opera7及以上版本 Webkit:遨游,苹果 ,symbian:Safari.Ch

浏览器兼容 各浏览器的Hack写法 [出处:W3CPLUS]

Hack是针对不同的浏览器去写不同的CSS样式,从而让各浏览器能达到一致的渲染效果,那么针对不同的浏览器写不同的CSS CODE的过程,就叫CSS HACK,同时也叫写CSS Hack.然后将Hack放在浏览器特定的CSS文件中,让其符合条件的浏览器解析这些代码,就如前面所说的条件样式,我们将CSS Hack代码放入条件样式文件中,符合条件的浏览器就解析,不符合的将不解析,从面达到您所需要的页面渲染效果.总的一句话来说使用CSS Hack将会使用你的CSS代码部分失去作用,然后借助条件样式,使用

CSS3与页面布局学习总结(八)——浏览器兼容与前端性能优化

目录 一.浏览器兼容 1.1.概要 1.2.浏览器内核 1.3.浏览器市场份额(Browser Market Share) 1.4.兼容的一般标准 1.5.CSS Reset 1.6.CSS Hack 1.6.1.条件注释法 1.6.2.样式内属性标记法 1.6.3.选择器前缀法 1.7.文档模式 (X-UA-Compatible) 1.8.javascript兼容 二.前端性能优化 2.1.概要 2.2.减少HTTP请求数量 2.2.1.图片地图 2.2.2.精灵图片(Sprite) 2.2.

关于浏览器兼容问题及hack写法

浏览器的兼容问题 1.浏览器内核: Mozilla Firefox ( Gecko ) Internet Explorer ( Trident ) Opera ( Presto ) Safari ( WebKit ) Google Chrome ( WebKit ) 2.css hack 解决浏览器兼容的主要方法是css hack 由于不同的浏览器对CSS的支持及解析结果不一样,还由于CSS中的优先级的关系.我们就可以根据这个来针对不同的浏览器来写不同的CSS. IE6 IE7 IE8 Fire

浏览器兼容问题汇总(持续更新)

所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况.在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果.所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题. 在学习浏览器兼容性之前,我想把前端开发人员划分为两类: 第一类是精确按照设计图开发的前端开发人员,可以说是精确到1px的,他们很容易就会发现设计图的不足,并且在很少的情况下会碰到浏览器的兼容性问题,而这些问题往往都死浏览器