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 相关文章推荐
form中限制文本字节数js代码
Jun 10 Javascript
jquery基础教程之deferred对象使用方法
Jan 22 Javascript
js用拖动滑块来控制图片大小的方法
Feb 27 Javascript
学习JavaScript设计模式之中介者模式
Jan 14 Javascript
分享12个实用的jQuery代码片段
Mar 09 Javascript
jQuery插件fullPage.js实现全屏滚动效果
Dec 02 Javascript
DOM 事件的深入浅出(二)
Dec 05 Javascript
详解基于vue-cli配置移动端自适应
Jan 13 Javascript
在 Angular6 中使用 HTTP 请求服务端数据的步骤详解
Aug 06 Javascript
vue下axios拦截器token刷新机制的实例代码
Jan 17 Javascript
Ant design vue中的联动选择取消操作
Oct 31 Javascript
Javascript新手入门之字符串拼接与变量的应用
Dec 03 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中通过虚代理实现延迟加载的实现代码
2011/06/10 PHP
PHP session_start()问题解疑(详细介绍)
2013/07/05 PHP
非常好用的Zend Framework分页类
2014/06/25 PHP
PHP编写登录验证码功能 附调用方法
2016/05/19 PHP
php微信公众号开发之秒杀
2018/10/20 PHP
RSA实现JS前端加密与PHP后端解密功能示例
2019/08/05 PHP
仅用[]()+!等符号就足以实现几乎任意Javascript代码
2010/03/01 Javascript
学习JavaScript的最佳方法分享
2011/10/21 Javascript
js实现网页自动刷新可制作节日倒计时效果
2014/05/27 Javascript
给js文件传参数(详解)
2014/07/13 Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
2014/08/07 Javascript
JavaScript动态添加列的方法
2015/03/25 Javascript
jquery中的工具使用方法$.isFunction, $.isArray(), $.isWindow()
2015/08/09 Javascript
jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)
2016/06/07 Javascript
Dropzone.js实现文件拖拽上传功能(附源码下载)
2016/11/22 Javascript
使用selenium抓取淘宝的商品信息实例
2018/02/06 Javascript
基于vue.js中关于下拉框的值默认及绑定问题
2018/08/22 Javascript
javascript中join方法实例讲解
2019/02/21 Javascript
Electron + vue 打包桌面操作流程详解
2019/06/24 Javascript
js之切换全屏和退出全屏实现代码实例
2019/09/09 Javascript
深入理解python中函数传递参数是值传递还是引用传递
2017/11/07 Python
Python面向对象之Web静态服务器
2019/09/03 Python
Python生成验证码、计算具体日期是一年中的第几天实例代码详解
2019/10/16 Python
python3实现绘制二维点图
2019/12/04 Python
MNIST数据集转化为二维图片的实现示例
2020/01/10 Python
Python发起请求提示UnicodeEncodeError错误代码解决方法
2020/04/21 Python
python使用hdfs3模块对hdfs进行操作详解
2020/06/06 Python
python中怎么表示空值
2020/06/19 Python
对python pandas中 inplace 参数的理解
2020/06/27 Python
python3.5的包存放的具体路径
2020/08/16 Python
西安众合通用.net笔试题
2013/03/18 面试题
创伤外科专业推荐信范文
2013/11/19 职场文书
违反校纪校规检讨书
2014/02/15 职场文书
羽毛球社团活动总结
2014/06/27 职场文书
运动会跳远广播稿5篇
2014/09/17 职场文书
CSS子盒子水平和垂直居中的五种方法
2022/07/23 HTML / CSS