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操作cookie_获取与修改代码
May 21 Javascript
JS 表单验证大全
Nov 23 Javascript
jQuery插件制作之参数用法实例分析
Jun 01 Javascript
探究JavaScript函数式编程的乐趣
Dec 14 Javascript
深入理解vue-router之keep-alive
Aug 31 Javascript
详解Angularjs 自定义指令中的数据绑定
Jul 19 Javascript
ES6基础之解构赋值(destructuring assignment)
Feb 21 Javascript
新手简单了解vue
May 29 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
Jun 19 jQuery
js 判断当前时间是否处于某个一个时间段内
Sep 19 Javascript
非常漂亮的js烟花效果
Mar 10 Javascript
JS实现密码框效果
Sep 10 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 中的批处理的实现
2007/06/14 PHP
PHP将XML转数组过程详解
2013/11/13 PHP
curl实现站外采集的方法和技巧
2014/01/31 PHP
ThinkPHP模版中导入CSS和JS文件的方法
2014/11/29 PHP
PHP实现的简单缓存类
2015/07/29 PHP
PHP自定义错误处理的方法分析
2018/12/19 PHP
一个js写的日历(代码部分网摘)
2009/09/20 Javascript
使用JavaScript switch case 另类写法
2010/03/14 Javascript
jquery在IE、FF浏览器的差别详细探讨
2013/04/28 Javascript
使用text方法获取Html元素文本信息示例
2014/09/01 Javascript
浅谈jQuery事件绑定原理
2015/01/02 Javascript
Flow之一个新的Javascript静态类型检查器
2015/12/21 Javascript
百度地图给map添加右键菜单(判断是否为marker)
2016/03/04 Javascript
Bootstrap编写一个同时适用于PC、平板、手机的登陆页面
2016/06/30 Javascript
详解react使用react-bootstrap当轮子造车
2017/08/15 Javascript
nodeJS微信分享
2017/12/20 NodeJs
详解如何在nuxt中添加proxyTable代理
2018/08/10 Javascript
微信小程序时间戳转日期的详解
2019/04/30 Javascript
vue项目中使用scss的方法步骤
2019/05/16 Javascript
Vue实现剪贴板复制功能
2019/12/31 Javascript
es5 类与es6中class的区别小结
2020/11/09 Javascript
js实现简单的倒计时
2021/01/28 Javascript
[09:22]2014DOTA2西雅图国际邀请赛 主赛事第二日TOPPLAY
2014/07/21 DOTA
使用python统计文件行数示例分享
2014/02/21 Python
Python中asyncore异步模块的用法及实现httpclient的实例
2016/06/28 Python
利用Python进行数据可视化常见的9种方法!超实用!
2018/07/11 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
2019/05/07 Python
django-rest-framework 自定义swagger过程详解
2019/07/18 Python
解决Python计算矩阵乘向量,矩阵乘实数的一些小错误
2019/08/26 Python
Django集成celery发送异步邮件实例
2019/12/17 Python
django的403/404/500错误自定义页面的配置方式
2020/05/21 Python
Banana Republic英国官网:香蕉共和国,GAP集团旗下偏贵族风
2018/04/24 全球购物
美容院考勤制度
2014/01/30 职场文书
工作建议书范文
2014/05/13 职场文书
师德师风事迹材料
2014/12/20 职场文书
公司财务制度:成本管理控制制度模板
2019/11/19 职场文书