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中的循环语句for语句深入理解
Apr 04 Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
Jun 26 Javascript
javascript数组输出的两种方式
Jan 13 Javascript
JavaScript事件委托用法分析
Jan 24 Javascript
vue上传图片组件编写代码
Jul 26 Javascript
angularJs中json数据转换与本地存储的实例
Oct 08 Javascript
elementUI table表格动态合并的示例代码
May 15 Javascript
Vue+axios+WebApi+NPOI导出Excel文件实例方法
Jun 05 Javascript
angularjs自定义过滤器demo示例
Aug 24 Javascript
微信小程序如何实现五星评价功能
Oct 15 Javascript
如何正确理解vue中的key详解
Nov 02 Javascript
javascript实现点击产生随机图形
Jan 25 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中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
2010/07/09 PHP
thinkPHP模板引擎用法示例
2016/12/08 PHP
JavaScript的9个陷阱及评点分析
2008/05/16 Javascript
jQuery 处理表单元素的代码
2010/02/15 Javascript
Javascript 面向对象 命名空间
2010/05/13 Javascript
js substr、substring和slice使用说明小记
2011/09/15 Javascript
document.write()及其输出内容的样式、位置控制
2013/08/12 Javascript
jquery 漂亮的删除确认和提交无刷新删除示例
2013/11/13 Javascript
Javascript 是你的高阶函数(高级应用)
2015/06/15 Javascript
JS实现仿Windows经典风格的选项卡Tab切换代码
2015/10/20 Javascript
JS中setTimeout的巧妙用法前端函数节流
2016/03/24 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
2017/01/10 Javascript
jQuery实现限制文本框的输入长度
2017/01/11 Javascript
JavaScript简单拖拽效果(1)
2017/05/17 Javascript
详解在Vue中如何使用axios跨域访问数据
2017/07/07 Javascript
AngularJS实现自定义指令及指令配置项的方法
2017/11/20 Javascript
Vue中父子组件通讯之todolist组件功能开发
2018/05/21 Javascript
jQuery实现的中英文切换功能示例
2019/01/11 jQuery
Vue 幸运大转盘实现思路详解
2019/05/06 Javascript
基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能
2019/11/12 Javascript
解决vue-cli 打包后自定义动画未执行的问题
2019/11/12 Javascript
[01:38]【DOTA2亚洲邀请赛】Sumail——梦开始的地方
2017/03/03 DOTA
Eclipse + Python 的安装与配置流程
2013/03/05 Python
python写xml文件的操作实例
2014/10/05 Python
python中的不可变数据类型与可变数据类型详解
2018/09/16 Python
python多线程下信号处理程序示例
2019/05/31 Python
python的debug实用工具 pdb详解
2019/07/12 Python
python fuzzywuzzy模块模糊字符串匹配详细用法
2019/08/29 Python
Python 私有化操作实例分析
2019/11/21 Python
Spring实战之使用util:命名空间简化配置操作示例
2019/12/09 Python
经典C++面试题一
2016/11/06 面试题
教师简历自我评价
2014/02/03 职场文书
教师业务学习材料
2014/12/16 职场文书
小学教师个人工作总结2015
2015/04/20 职场文书
2019年大学生学年自我鉴定!
2019/03/25 职场文书