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 相关文章推荐
js(jQuery)获取时间的方法及常用时间类搜集
Oct 23 Javascript
js关于字符长度限制的问题示例探讨
Jan 24 Javascript
jquery实现将获取的颜色值转换为十六进制形式的方法
Dec 20 Javascript
jQuery异步获取json数据方法汇总
Dec 22 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
Jan 05 Javascript
javascript事件冒泡简单示例
Jun 20 Javascript
微信小程序 loading 详解及实例代码
Nov 09 Javascript
详解js中Json的语法与格式
Nov 22 Javascript
vue.js声明式渲染和条件与循环基础知识
Jul 31 Javascript
对存在JavaScript隐式类型转换的四种情况的总结(必看篇)
Aug 31 Javascript
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
Aug 24 Javascript
更强大的vue ssr实现预取数据的方式
Jul 19 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提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
2012/03/27 PHP
php中删除字符串中最先出现某个字符的实现代码
2013/02/03 PHP
php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)
2015/06/03 PHP
详解PHP实现异步调用的4种方法
2016/03/14 PHP
php数据结构之顺序链表与链式线性表示例
2018/01/22 PHP
Smarty模板变量与调节器实例详解
2019/07/20 PHP
js对象数组按属性快速排序
2011/01/31 Javascript
读jQuery之十四 (触发事件核心方法)
2011/08/23 Javascript
谈谈JavaScript中的函数与闭包
2013/04/14 Javascript
drag-and-drop实现图片浏览器预览
2015/08/06 Javascript
BootStrap初学者对弹出框和进度条的使用感觉
2016/06/27 Javascript
JS中关于正则的巧妙操作
2017/08/31 Javascript
webpack4 入门最简单的例子介绍
2018/09/05 Javascript
详解Vue项目中出现Loading chunk {n} failed问题的解决方法
2018/09/14 Javascript
深入剖析JavaScript instanceof 运算符
2019/06/14 Javascript
Vue实现剪贴板复制功能
2019/12/31 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
[01:31]完美与DOTA2历程
2014/07/31 DOTA
[55:03]LGD vs EG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python中的匿名函数使用简介
2015/04/27 Python
深入理解NumPy简明教程---数组2
2016/12/17 Python
Python正则简单实例分析
2017/03/21 Python
python 接口_从协议到抽象基类详解
2017/08/24 Python
Python错误处理操作示例
2018/07/18 Python
Python3中的bytes和str类型详解
2019/05/02 Python
解决Python内层for循环如何break出外层的循环的问题
2019/06/24 Python
详解python实现交叉验证法与留出法
2019/07/11 Python
利用CSS3实现自定义滚动条代码分享
2016/08/18 HTML / CSS
如何用css3实现switch组件开关的方法
2018/02/09 HTML / CSS
巴西24小时在线药房:Drogasil
2020/06/20 全球购物
深圳-东方伟业笔试部分
2015/02/11 面试题
科室工作的个人自我评价
2013/10/30 职场文书
党员读书活动心得体会
2016/01/14 职场文书
浅谈Redis在直播场景的实践方案
2021/04/27 Redis
「玫瑰之王的葬礼」舞台剧主视觉图公开
2022/03/21 日漫
MyBatis XPathParser解析器使用范例详解
2022/07/15 Java/Android