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学习(一)构建自己的JS库
Jan 02 Javascript
详解jQuery插件开发中的extend方法
Nov 19 Javascript
推荐一个封装好的getElementsByClassName方法
Dec 02 Javascript
javascript设计模式之中介者模式Mediator
Dec 30 Javascript
JS版元素周期表实现方法
Aug 05 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
Feb 19 Javascript
jQuery在ie6下无法设置select选中的解决方法详解
Sep 20 Javascript
微信小程序 教程之数据绑定
Oct 18 Javascript
JavaScript实现垂直向上无缝滚动特效代码
Nov 23 Javascript
ztree实现左边动态生成树右边为内容详情功能
Nov 03 Javascript
深入浅出webpack之externals的使用
Dec 04 Javascript
Vant 中的Toast设置全局的延迟时间操作
Nov 04 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 截取字符串函数整理(支持gb2312和utf-8)
2010/02/16 PHP
php更新修改excel中的内容实例代码
2014/02/26 PHP
php字符串函数学习之strstr()
2015/03/27 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
2007/03/27 Javascript
从阿里妈妈发现的几个不错的表单验证函数
2007/09/21 Javascript
判断iframe是否加载完成的完美方法
2010/01/07 Javascript
网页上的Javascript编辑器和代码格式化
2010/04/25 Javascript
jQuery对表单元素的取值和赋值操作代码
2011/05/19 Javascript
jQuery EasyUI API 中文文档 - NumberSpinner数值微调器使用介绍
2011/10/21 Javascript
javascript实现div的显示和隐藏的小例子
2013/06/25 Javascript
原生js结合html5制作小飞龙的简易跳球
2015/03/30 Javascript
删除javascript所创建子节点的方法
2015/05/21 Javascript
jQuery实现下拉框左右移动(全部移动,已选移动)
2016/04/15 Javascript
AngularJS使用ng-repeat指令实现下拉框
2016/08/23 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
2016/09/15 Javascript
vue与bootstrap实现时间选择器的示例代码
2017/08/26 Javascript
jQuery选择器之子元素选择器详解
2017/09/18 jQuery
详解html-webpack-plugin用法全解
2018/01/22 Javascript
详解React native fetch遇到的坑
2018/08/30 Javascript
JQuery常用简单动画操作方法回顾与总结
2019/12/07 jQuery
解决vue初始化项目一直停在downloading template的问题
2020/11/09 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
[03:01]2014DOTA2国际邀请赛 DC:我是核弹粉,为Burning和国土祝福
2014/07/13 DOTA
python基础教程之python消息摘要算法使用示例
2014/02/10 Python
Python如何读取、写入CSV数据
2020/07/28 Python
python全栈开发语法总结
2020/11/22 Python
Etam艾格英国官网:法国著名女装品牌
2019/04/15 全球购物
应届毕业生求职信范例分享
2013/12/17 职场文书
班组长工作职责
2013/12/25 职场文书
运动会广播稿80字
2014/01/23 职场文书
同学聚会老师邀请函
2014/01/28 职场文书
项目投资意向书
2014/04/01 职场文书
美容院经理岗位职责
2014/04/03 职场文书
幼儿园家长安全责任书
2014/07/22 职场文书
2016优秀班主任个人先进事迹材料
2016/02/26 职场文书