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 相关文章推荐
jquery 学习笔记 传智博客佟老师附详细注释
Sep 12 Javascript
JavaScript 原型学习总结
Oct 29 Javascript
通过百度地图获取公交线路的站点坐标的js代码
May 11 Javascript
JS、CSS以及img对DOMContentLoaded事件的影响
Aug 12 Javascript
javascript实现信息增删改查的方法
Jul 25 Javascript
jquery实现具有嵌套功能的选项卡
Feb 12 Javascript
JavaScript Array对象详解
Mar 01 Javascript
如何用JS/HTML将时间戳转换为“xx天前”的形式
Feb 06 Javascript
JS中静态页面实现微信分享功能
Feb 06 Javascript
在element-ui的el-tree组件中用render函数生成el-button的实例代码
Nov 05 Javascript
layer.prompt输入层的例子
Sep 24 Javascript
关于JavaScript中异步/等待的用法与理解
Nov 18 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
解析PayPal支付接口的PHP开发方式
2010/11/28 PHP
分享一段php获取linux服务器状态的代码
2014/05/27 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
2015/10/23 PHP
PHP 生成微信红包代码简单
2016/03/25 PHP
php获取是星期几的的一些常用姿势
2019/12/15 PHP
use jscript List Installed Software
2007/06/11 Javascript
IE autocomplete internet explorer's autocomplete
2007/06/30 Javascript
js制作的鼠标悬浮时产生的下拉框效果
2012/10/27 Javascript
js函数名与form表单元素同名冲突的问题
2014/03/07 Javascript
Bootstrap3使用typeahead插件实现自动补全功能
2016/07/07 Javascript
JavaScript 数组的深度复制解析
2016/11/02 Javascript
微信小程序 动态传参实例详解
2017/04/27 Javascript
JS实现websocket长轮询实时消息提示的效果
2017/10/10 Javascript
简述JS浏览器的三种弹窗
2018/07/15 Javascript
使用Node.js实现一个多人游戏服务器引擎
2019/03/13 Javascript
[43:58]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第一场 1月8日
2021/03/11 DOTA
浅析python协程相关概念
2018/01/20 Python
Python实现快速傅里叶变换的方法(FFT)
2018/07/21 Python
Pytorch在NLP中的简单应用详解
2020/01/08 Python
Python基础之字典常见操作经典实例详解
2020/02/26 Python
Win10用vscode打开anaconda环境中的python出错问题的解决
2020/05/25 Python
Python中zipfile压缩文件模块的基本使用教程
2020/06/14 Python
15款Python编辑器的优缺点,别再问我“选什么编辑器”啦
2020/10/19 Python
英国高档时尚男装购物网站:MR PORTER
2016/08/09 全球购物
英国最受欢迎的平价女士时装零售商:Roman Originals
2019/11/02 全球购物
Discard Protocol抛弃协议的作用是什么
2015/10/10 面试题
方正Java笔试题
2014/07/03 面试题
美术专业学生个人自我评价
2013/09/19 职场文书
应用心理学个人求职信范文
2013/12/11 职场文书
党建工作先进材料
2014/05/02 职场文书
大学生自我评价200字(4篇)
2014/09/17 职场文书
委托代理人授权委托书范本
2014/09/24 职场文书
社区灵活就业证明
2014/11/03 职场文书
2016五一手机促销广告语
2016/01/28 职场文书
2019年警察入党转正申请书最新范文
2019/09/03 职场文书
自定义函数实现单词排序并运用于PostgreSQL(实现代码)
2021/04/22 PostgreSQL