您的位置:首页 > Web前端 > JavaScript

开发日记(2015.9.21):Js中clearInterval、window.onload失效 及 Js添加animation的浏览器兼容

2015-09-21 14:04 1081 查看
一、在使用定时器的情况下,偶尔会出现clearInterval清除不了定时器的情况

这个时候,可以通过外加一个布尔值来进行判别操作:

1)失效情况:

var timer;
function doThis(){
//需要循环执行的 方法主体
}
function func(){
timer = window.setInterval(doThis,200);//每隔0.2秒执行一次
}
window.clearInterval(timer);//这里可能无法清除定时器


2)解决办法:

var timer;
var doOver = true;
function doThis(){
//这里是需要循环执行的 方法主体
//注意:执行完后,将doOver值变为false,供给调用计时器的函数判断
doOver = false;
}
function func(){
if(doOver){
timer = window.setInterval(doThis,200);//每隔200毫秒执行一次doThis()
}else{
window.clearInterval(timer);//清除计时器
}
}


二、js给DOM对象设置animation属性时,需要注意兼容浏览器:

1)一般写法:

Obj.style.animation="动画名 0.3s linear";


2)兼容写法:

Obj.style.animation="动画名 0.3s linear";
Obj.style.webkitAnimation="动画名 0.3s linear";//这里就对chrome和Safari兼容


三、在页面加载时调用 某个js函数,通过window.onload来实现时,失效

在ios 或 安卓 微信的自带浏览器中,window.onload完全失效,解决办法是:

不用window.onload,而是采用jQuery的ready()方法,具体如下:

1)通常写法:

<script>
window.onload=function(){
//这里是需要调用的函数
}
</script>


2)兼容微信写法:

<script>
$(document).ready(function(){
//这里是要调用的函数
})
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: