Javascript实现仿WebQQ界面的“浮云”兼容 IE7以上版本及FF


Posted in Javascript onApril 27, 2011

上图片素材先:

背景图片:
Javascript实现仿WebQQ界面的“浮云”兼容 IE7以上版本及FF
浮云图片: ←——————————这里是有图片D~ 全选就能看见了(因为背景是白的,云也是白的嘛~)……
CSS代码:

<style type="text/css"> 
* 
{ 
margin: 0; 
padding: 0; 
} 
body 
{ 
background: url("Images/body_bg.jpg") repeat center 0 fixed; 
} 
.cloud 
{ 
background: url("Images/cloud1.png"); 
height: 250px; 
width: 580px; 
position: absolute; 
} 
.hScroll 
{ 
overflow: hidden; 
} 
</style>

理解: .hScroll 是为了让浏览器的滚动条隐藏;其他一看就明白咋回事,我也不废话了;
body里的代码:
<body onload="StartMove()"> 
<div class="cloud" id="moveCloud"> 
</div> 
</body>

理解:页面加载的时候调用StarMove()函数;
Javascript代码:
<script language="javascript" type="text/javascript"> 
var cloud = null; 
var left = 0; 
document.documentElement.className = "hScroll"; 
function StartMove() { 
cloud = document.getElementById("moveCloud"); 
setInterval(Move, 100); 
} 
function Move() { 
left += 1; 
cloud.style.left = left + "px"; 
if (left >= (screen.width)) { 
left = -580; 
} 
} 
</script>

理解:document.documentElement.className = "hScroll"; 是调用css样式中的代码,目的是为了隐藏浏览器的滚动条(废话……上面不是说过了嘛^_^|| )
首先,我们要获取“浮云”层的id,所以用到了 cloud = document.getElementById("moveCloud"); cloud是一个全局变量,上面已经定义过了,所以在这里可以直接使用(老鸟勿喷,给新鸟看的).
然后再给他一个“计时器” setInterval(Move, 100); 调用100毫秒调用一次Move函数;
left += 1;等价于left=left+1; 配合上面的函数(每100毫秒调用一次嘛~)使用,然后再赋值给“浮云”层原来的坐标;所以写成了cloud.style.left = left + "px" ;
神马?你问我left是什么东东?他是css样式里的position的属性啊!不信你在DW里写个position冒号一下,看他出来不?
if (left >= (screen.width)) ; left = -580; 就是断判如果“浮云”移动(距离左边)的位置大于或者等于屏幕的宽度,我们就让他从头开始,把left的值设为-580;
为啥设-580?? 看CSS里面嘛,浮云的图片大小是580*250嘛,也就是他的长度是580px;所以把他设成-580是为了让它从右开始一点点显示,不然一上来就显示整张图片,多吓人啊~
废了半天话,不知道大家(和我一样菜的)看懂了没有,下面的是完整的代码,另存为.html文件试一下吧;图片自己下载,别忘了改路径!
完整代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>背景图片移动</title> 
<style type="text/css"> 
* 
{ 
margin: 0; 
padding: 0; 
} 
body 
{ 
background: url("Images/body_bg.jpg") repeat center 0 fixed; 
} 
.cloud 
{ 
background: url("Images/cloud1.png"); 
height: 250px; 
width: 580px; 
position: absolute; 
} 
.hScroll 
{ 
overflow: hidden; 
} 
</style> 
<script language="javascript" type="text/javascript"> 
var cloud = null; 
var left = 0; 
document.documentElement.className = "hScroll"; 
function StartMove() { 
cloud = document.getElementById("moveCloud"); 
setInterval(Move, 100); 
} 
function Move() { 
left += 1; 
cloud.style.left = left + "px"; 
if (left >= (screen.width)) { 
left = -580; 
} 
} 
</script> 
</head> 
<body onload="StartMove()"> 
<div class="cloud" id="moveCloud"> 
</div> 
</body> 
</html>
Javascript 相关文章推荐
JS继承 笔记
Jul 13 Javascript
javascript针对DOM的应用分析(三)
Apr 15 Javascript
手机号码,密码正则验证
Sep 04 Javascript
js命名空间写法示例
Dec 18 Javascript
Bootstrap实现下拉菜单效果
Apr 29 Javascript
javascript截图 jQuery插件imgAreaSelect使用详解
May 04 Javascript
BootStrap Table 分页后重新搜索问题的解决办法
Aug 08 Javascript
jQuery事件用法详解
Oct 06 Javascript
浅谈JavaScript中promise的使用
Jan 11 Javascript
详解vue2路由vue-router配置(懒加载)
Apr 08 Javascript
Node.js模块全局安装路径配置方法
May 17 Javascript
解析原来浏览器原生支持JS Base64编码解码
Aug 12 Javascript
js,jQuery 排序的实现代码,网页标签排序的实现,标签排序
Apr 27 #Javascript
javascript中的继承实例代码
Apr 27 #Javascript
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
Apr 27 #Javascript
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
Apr 27 #Javascript
js实时监听文本框状态的方法
Apr 26 #Javascript
Javascript中的window.event.keyCode使用介绍
Apr 26 #Javascript
Javascript中正则表达式的全局匹配模式分析
Apr 26 #Javascript
You might like
php中的观察者模式
2010/03/24 PHP
php array_filter除去数组中的空字符元素
2020/06/21 PHP
Yii2框架制作RESTful风格的API快速入门教程
2016/11/08 PHP
打豆豆小游戏 用javascript编写的[打豆豆]小游戏
2013/01/08 Javascript
jquery高效反选具体实现
2013/05/05 Javascript
JS实现日期加减的方法
2013/11/29 Javascript
AngularJS 避繁就简的路由
2016/07/01 Javascript
深入浅析JavaScript中的3DES
2016/08/24 Javascript
原生js实现ajax方法(超简单)
2016/09/20 Javascript
浅谈Webpack自动化构建实践指南
2017/12/18 Javascript
使用axios实现上传图片进度条功能
2017/12/21 Javascript
vue-router history模式下的微信分享小结
2018/07/05 Javascript
express+vue+mongodb+session 实现注册登录功能
2018/12/06 Javascript
javascript-hashchange事件和历史状态管理实例分析
2020/04/18 Javascript
[51:53]完美世界DOTA2联赛决赛日 Inki vs LBZS 第二场 11.08
2020/11/10 DOTA
Python搭建HTTP服务器和FTP服务器
2017/03/09 Python
python requests 使用快速入门
2017/08/31 Python
Python3 Random模块代码详解
2017/12/04 Python
python3+dlib实现人脸识别和情绪分析
2018/04/21 Python
python 中文件输入输出及os模块对文件系统的操作方法
2018/08/27 Python
python实现的接收邮件功能示例【基于网易POP3服务器】
2019/09/11 Python
Tensorflow不支持AVX2指令集的解决方法
2020/02/03 Python
Pycharm最常用的快捷键及使用技巧
2020/03/05 Python
Python使用Paramiko控制liunx第三方库
2020/05/20 Python
Python csv文件记录流程代码解析
2020/07/16 Python
matplotlib制作雷达图报错ValueError的实现
2021/01/05 Python
PyQt实现计数器的方法示例
2021/01/18 Python
斯凯奇美国官网:SKECHERS美国
2016/08/20 全球购物
优秀演讲稿范文
2013/12/29 职场文书
专项法律服务方案
2014/06/11 职场文书
安全生产月标语
2014/10/07 职场文书
实习单位证明范例
2014/11/17 职场文书
大学生军训心得体会5篇
2019/08/15 职场文书
导游词之山东孔庙
2019/11/04 职场文书
CSS中Single Div 绘图技巧的实现
2021/06/18 HTML / CSS
Feign调用全局异常处理解决方案
2021/06/24 Java/Android