对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!

在上一篇文章: 觉得猪八戒网左下角的文字滚动,效果不错,自己摸索了一下,以自己的方法实现了!

就有这种效果,不过影响不大。Demo的影响就大了!

网上也有人出现过这样的问题看下面的帖子地址:

firefox 6下 setInterval的一个问题

讨论的人很多,但没给出答案来。

怎么想都想不明白!

今天,突然茅塞顿开,可能是线程的概念,但是具体原因还是不明白,希望有人了解其原应告知,非常感激!

Demo 中黑色的Div是不受浏览器标签切换影响的

而红色的Div会受到影响。
HTML:


代码如下:

<div id="move" style="position: absolute; width: 100px; height: 100px; top: 0pt; left: 0pt; background: none repeat scroll 0% 0% #000000; z-index: 999; color: #ffffff;">我不受浏览器标签切换影响!Hoooo</div>
<div id="move2" style="position: absolute; width: 100px; height: 100px; top: 0pt; left: 0pt; background: none repeat scroll 0% 0% red; z-index: 999; color: #ffffff;">我受浏览器标签切换影响!5555</div>

javascript:


代码如下:

(function(){
var elem = Meng.getId('move'),
elem2 = Meng.getId('move2'),
pos = Meng.getElemViewPosition(elem),
view = Meng.getBrowserView(),
//灰块运动函数
move = function(){
var t1 = Meng.animate(elem,{top:0,left:0},{top:view.height-100,left:view.width-100},3000,function(){
var t2 = Meng.animate(elem,{left:view.width-100},{left:100-view.width},3000,function(){
var t3 = Meng.animate(elem,{top:view.height-100},{top:100-view.height},3000,function(){
move();//确定t3运动完后,我再回调move()函数。
});
});
});
};
move();
// 红块运动函数
Meng.setStyle(elem2,{top:0,left:(view.width-100)+'px'});
var move2 = function(){
var t1 = Meng.animate(elem2,{top:0,left:view.width-100},{top:view.height-100,left:100-view.width},3000,function(){
var t2 = Meng.animate(elem2,{top:view.height-100},{top:100-view.height},3000,function(){
var t3 = Meng.animate(elem2,{left:0},{left:view.width-100},3000,function(){
});
});
});
};
move2();
setInterval(function(){move2();},9050);
// 红块运动函数
})();

(0)

相关推荐

  • 对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!

    在上一篇文章: 觉得猪八戒网左下角的文字滚动,效果不错,自己摸索了一下,以自己的方法实现了! 就有这种效果,不过影响不大.Demo的影响就大了! 网上也有人出现过这样的问题看下面的帖子地址: firefox 6下 setInterval的一个问题 讨论的人很多,但没给出答案来. 怎么想都想不明白! 今天,突然茅塞顿开,可能是线程的概念,但是具体原因还是不明白,希望有人了解其原应告知,非常感激! Demo 中黑色的Div是不受浏览器标签切换影响的 而红色的Div会受到影响.HTML: 复制代码 代

  • JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome

    今天为大家分享一下我自己制作的浏览器滚动条,我们知道用css来自定义滚动条也是挺好的方式,css虽然能够改变chrome浏览器的滚动条样式可以自定义,css也能够改变IE浏览器滚动条的颜色.但是css只能是改变IE浏览器的颜色,而且CSS不能做到改变火狐浏览器的样式和颜色.所以只能是通过JavaScript来实现了.也有插件可以做到.我分享一下我自己使用原生JavaScript实现的思路.先上个图看下效果: JavaScript实现的思路就是模拟浏览器自身滚动条.我制作的思路是先将整个文档放在一

  • jquery实现左右滑动菜单效果代码

    本文实例讲述了jquery实现左右滑动菜单效果代码.分享给大家供大家参考.具体如下: 这里演示了三种背景颜色左右滑动jquery菜单导航效果,IE下有问题,本菜单使用了CSS3的部分属性,因此建议使用火狐或Chrome等浏览器获取最佳效果.当把鼠标移到菜单上的时候,对应菜单项的背景会变化,而且本菜单具有圆角的效果. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/jquery-left-right-move-style-menu-codes/ 具

  • 仅IE不支持setTimeout/setInterval函数的第三个以上参数

    复制代码 代码如下: setTimeout(function(obj){ alert(obj.a); }, 2000, {a:1}); 即传了第三个参数,第三个参数将作为回调函数的参数obj传入.在非IE浏览器中都弹出了1.这样有个好处,即解决了回调函数的执行上下文,比如要调用某个对象的某个方法,即可以通过参数把该对象传进去. 复制代码 代码如下: setTimeout(function(obj){ obj.method(); }, 2000, obj); 当然,你还可以传多个参数给回调函数,如

  • CSS Hack大全-教你如何区分出IE6-IE10、FireFox、Chrome、Opera

    现在的浏览器IE6-IE10.Firefox.Chrome.Opera.Safari...数量众多,可谓百家争鸣,对用户来说有了很多的可选择型,不过这可就苦了Web前端开发人员了.今天把一些常用的CSS Hack整理了一下,包括常用的IE hack以及火狐.Chrome.Opera浏览器的Hack,并把这些CSS Hack综合的一起,写了一个小的浏览器测试器.如图所示: 下面就来看一下代码吧: html部分: 复制代码 代码如下: <div class="content">

  • selenium.chrome写扩展拦截或转发请求功能

    目录 Selenium.WebDriver nuget 开始coding 写selenium.chrome插件 使用方法 实现效果 Selenium.WebDriver Selenium WebDriver 是一组开源 API,用于自动测试 Web 应用程序,利用它可以通过代码来控制chrome浏览器! 有时候我们需要mock接口的返回,或者拦截和转发请求,今天就来实现这个功能 代码已开源: https://github.com/yuzd/OpenQA.Selenium.Chrome.Fiddl

  • JS实现从顶部下拉显示的带动画QQ客服特效代码

    本文实例讲述了JS实现从顶部下拉显示的带动画QQ客服特效代码.分享给大家供大家参考,具体如下: 这是一款动画版QQ在线客服代码,从网页顶部下拉出来的QQ客服,下滑结束后有弹性缓冲效果.在世界地图的映衬下,似乎一下子上升了品位.动画效果是由jq实现的,QQ客服的一些信息自己修改下,换成你自己的QQ,上传到网页就可用啦.注:在火狐台chrome浏览器中测试效果会更好. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-top-show-down-

  • JavaScript中DOM详解

    为了达到平稳退化,向后兼容,标记分离的思想,每次写js代码时做的第一件事应该是必要的测试和检查工作: 在js文件里首先添加以下代码进行检查: window.onload = function(){ if(!document.getElementsByTagName) return false; if(!document.getElementById) return false; if(!document.getElementsByClassName) return false; if(!docu

  • 一个网页标题title的闪动提示效果实现思路

    通过网页title来提示用户有新消息这个功能很常见,比如现在的微博,还有一些邮箱,这个功能都很常见.如何实现则个功能呢? 思路是:通过ajax访问后台,若有新消息,则将网页的title替换为 提示信息 ,并与空格来回切换.例:[你有新消息]与[ ]切换.提示内容弄是动态的,所以替换文字的空格数目也是算出的.这里用全角的空格.但是如果提示消息中有'数字'等半角字符的话就会出现问题.全角的空格比半角的1的宽度要宽的多.这样的话,闪动起来看着就不是很舒服:解决方法就是用全角的空格替换全角的字符,半角的

  • javascript基础知识之html5轮播图实例讲解(44)

    本文实例为大家分享了html5轮播图的具体代码,供大家参考,具体内容如下 1.轮播图的布局: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> /*去除默认样式*/ *{ margin: 0; padding: 0; } /*设置div*/ #out

随机推荐