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

原创 2015年09月21日 14:04:48

一、在使用定时器的情况下,偶尔会出现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>   

14. Window clearInterval() 方法

定义和用法 clearInterval() 方法可取消由 setInterval() 设置的 timeout。 clearInterval() 方法的参数必须是由 setInterval() 返回...
  • enlyhua
  • enlyhua
  • 2015年07月31日 13:30
  • 305

js中clearInterval无效,以及setInterval中断后重新执行

clearInterval()失效的原因:setInterval()每执行一次,则返回一个唯一id。所以setInterval()执行了n次,那么需要调用clearInterval()也是nci。出现...
  • manmanwei
  • manmanwei
  • 2016年07月05日 19:03
  • 8889

JS中,window.clearInterval(repeat)不起作用

近期,在用js做定时循环的时候,
  • syjzcheng
  • syjzcheng
  • 2014年08月14日 07:21
  • 974

window.clearInterval()方法和window.setInterval()方法

window.setInterval() 功能:按照指定的周期(以毫秒计)来调用函数或计算表达式。 语法:setInterval(code,millisec)   解释:code:在定时时间到...
  • cao478208248
  • cao478208248
  • 2014年05月29日 11:21
  • 1243

解决js中setTimeout()函数的兼容问题

今天检查自己用JQuery+AJAX+PHP做的网站后台登录检测,发现登陆成功后执行页面跳转函数这段JavaScript(JS)代码特效在IE和谷歌浏览器Chrome下都可以很好地执行,兼容性还不错。...
  • hpugym
  • hpugym
  • 2015年11月12日 22:34
  • 2168

onload js函数不执行的原因分析及解决方法

今天在开发的时候,发现很多页面的信息都没有显示出来,仔细观察了之后,发现都是onload的js函数没有执行的原因。...
  • aboy123
  • aboy123
  • 2015年05月25日 22:55
  • 18621

js浏览器兼容问题总结及解决办法

javascript部分 1. document.form.item 问题 问题: 代码中存在 document.formName.item("itemName") 这样的语句,不能在FF下...
  • comeonJ
  • comeonJ
  • 2014年02月19日 10:44
  • 8671

js中在window.onload中调用function函数遇到的疑惑

今天在jsp中的form表单利用onclick=”xxx”来监听js中一个function xxx(){}函数,遇到一个很奇怪的问题就是点击submit按钮之后竟然没有响应xxx()函数。在这之前我已...
  • c_p_h
  • c_p_h
  • 2017年03月19日 14:33
  • 4403

js中的window.onload和jquery中的load区别的讲解

JavaScript 中的以下代码  [javascript] view plaincopyprint? Window.onload = function (){   ...
  • toto1297488504
  • toto1297488504
  • 2014年01月02日 18:56
  • 1339

js window.onload 加载多个函数和追加函数

js window.onload 加载多个函数和追加函数 平时做项目 经常需要使用window.onload, 用法如下: function func(){alert("this...
  • lingpaoershiyishiji
  • lingpaoershiyishiji
  • 2012年10月10日 21:08
  • 200
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:开发日记(2015.9.21):Js中clearInterval、window.onload失效 及 Js添加animation的浏览器兼容
举报原因:
原因补充:

(最多只允许输入30个字)