开发日记(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>   

关于jsp页面中clearInterval失效的解决

首先我需要事先的功能是在jsp页面里有一个下拉框,里面的内容是"不自动刷新"、“每隔5秒自动刷新”、“每隔10秒自动刷新”,选择相应的内容实现对应的功能。     问题:开始时遇到的问题是在...
  • alanpw
  • alanpw
  • 2016-08-06 17:58:25
  • 127

JS解决clearInterval()函数不生效

每次,执行play函数的时候,let ctime,导致ctime并不是之前 setInterval返回的值。 你可以在clearInterval(ctime)前执行 console.log(ct...
  • tengxing007
  • tengxing007
  • 2018-01-17 17:40:39
  • 646

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

近期,在用js做定时循环的时候,
  • syjzcheng
  • syjzcheng
  • 2014-08-14 07:21:16
  • 1197

js中clearInterval的重新执行/重新开始

问题描述:系统进入页面,可以通过setInterval的方式进行定时执行某一个任务,当使用clearInterval之后需要再次调用setInterval,却不能够再次让setInterval执行的函...
  • lishirong
  • lishirong
  • 2014-12-02 09:52:42
  • 6313

setInterval与clearInterval详解

计时计数器经常会用到的两个函数。 首先注意:setInterval与clearInterval都是直属于window对象的。 时间间隔可以通过setInterval命令来创建并用clearInte...
  • cui_angel
  • cui_angel
  • 2012-07-24 13:27:50
  • 11634

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

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

clearInterval只终止定时器不终止函数

用return解决
  • sinat_27088253
  • sinat_27088253
  • 2016-07-23 16:18:21
  • 1186

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

在使用定时器的情况下,偶尔会出现clearInterval清除不了定时器的情况,这个时候,可以通过外加一个布尔值来进行判别操作: 1)失效情况:var timer; function doThis(...
  • puppyand123
  • puppyand123
  • 2015-09-21 14:04:48
  • 725

setInterval()和clearInterval() 用法

setInterval()和clearInterval() 用法 一、含义(摘自百度百科) setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。 setI...
  • u011037869
  • u011037869
  • 2015-08-05 16:38:18
  • 7832

window.onload加载js函数不起作用

使用window.onload加载函数,不起作用 其实是不同js都使用了window.onload加载应用于同一个页面这样通常只有第一个js文件中的函数会被调用。 例: first.js wi...
  • zhituji
  • zhituji
  • 2016-01-14 13:11:40
  • 2139
收藏助手
不良信息举报
您举报文章:开发日记(2015.9.21):Js中clearInterval、window.onload失效 及 Js添加animation的浏览器兼容
举报原因:
原因补充:

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