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 相关文章推荐
javascript实现动态增加删除表格行(兼容IE/FF)
Apr 02 Javascript
js实现iframe自动自适应高度的方法
Feb 17 Javascript
js实现改进的仿蓝色论坛导航菜单效果代码
Sep 06 Javascript
终于实现了!精彩的jquery弹幕效果
Jul 18 Javascript
vue的props实现子组件随父组件一起变化
Oct 27 Javascript
jquery pagination插件动态分页实例(Bootstrap分页)
Dec 23 Javascript
js选项卡的制作方法
Jan 23 Javascript
微信小程序开发图片拖拽实例详解
May 05 Javascript
AngularJS+Bootstrap3多级导航菜单的实现代码
Aug 16 Javascript
关于node-bindings无法在Electron中使用的解决办法
Dec 18 Javascript
微信小程序服务器日期格式化问题
Jan 07 Javascript
解决vue请求接口第一次成功,第二次失败问题
Sep 08 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
setcookie中Cannot modify header information-headers already sent by错误的解决方法详解
2013/05/08 PHP
php分页查询mysql结果的base64处理方法示例
2017/05/18 PHP
让焦点自动跳转
2006/07/01 Javascript
用一段js程序来实现动画功能
2007/03/06 Javascript
jquery 学习之二 属性(类)
2010/11/25 Javascript
7款风格新颖的jQuery/CSS3菜单导航分享
2013/04/23 Javascript
jquery缓动swing liner控制动画过程不同时刻的速度
2014/05/29 Javascript
JavaScript中实现依赖注入的思路分享
2015/01/15 Javascript
jQuery实现按键盘方向键翻页特效
2015/03/18 Javascript
JS获取iframe中longdesc属性的方法
2015/04/01 Javascript
JS实现可拖曳、可关闭的弹窗效果
2015/09/26 Javascript
js行号显示的文本框实现效果(兼容多种浏览器 )
2015/10/23 Javascript
js检测iframe是否加载完成的方法
2015/11/26 Javascript
jquery实现瀑布流效果 jquery下拉加载新数据
2016/12/12 Javascript
Javascript 实现 Excel 导入生成图表功能
2018/10/22 Javascript
小程序实现订单倒计时功能
2019/04/23 Javascript
Angular实现svg和png图片下载实现
2019/05/05 Javascript
uni-app如何实现增量更新功能
2020/01/03 Javascript
js中!和!!的区别与用法
2020/05/09 Javascript
VSCode Vue开发推荐插件和VSCode快捷键(小结)
2020/08/08 Javascript
[41:52]2018DOTA2亚洲邀请赛3月29日 小组赛A组 TNC VS OpTic
2018/03/30 DOTA
[01:16:37]【全国守擂赛】第三周决赛 Dark Knight vs. 一个弱队
2020/05/04 DOTA
Python采用Django制作简易的知乎日报API
2016/08/03 Python
Python将图片转换为字符画的方法
2020/06/16 Python
python并发编程多进程 模拟抢票实现过程
2019/08/20 Python
使用python将最新的测试报告以附件的形式发到指定邮箱
2019/09/20 Python
python pygame实现滚动横版射击游戏城市之战
2019/11/25 Python
Python selenium的基本使用方法分析
2019/12/21 Python
Django 删除upload_to文件的步骤
2020/03/30 Python
Python实现自动打开电脑应用的示例代码
2020/04/17 Python
美国男装连锁零售商:Men’s Wearhouse
2016/10/14 全球购物
长青弘远的面试题
2012/06/09 面试题
学校搬迁方案
2014/06/15 职场文书
资产移交协议书
2016/03/24 职场文书
MySQL数据库如何给表设置约束详解
2022/03/13 MySQL
实战 快速定位MySQL的慢SQL
2022/03/22 MySQL