js实现仿QQ秀换装效果的方法


Posted in Javascript onMarch 04, 2015

本文实例讲述了js实现仿QQ秀换装效果的方法。分享给大家供大家参考。具体实现方法如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="www.w3.org/1999/xhtml">

<head>

<title>仿QQ秀换装效果</title>

<meta http-equiv="content-Type" content="text/html;charset=gb2312">

<!--把下面代码加到<head>与</head>之间-->

<style>

#cs img{cursor:hand}

</style>

<base href="http://www.zzsky.cn/effect/images/qqshow/">

</head>

<body>

<!--把下面代码加到<body>与</body>之间-->

<!-- 在要显示形象预览的地方放置以下这句代码 -->

<div id="bodyshow" style="border:1px solid #000000;padding:0;POSITION: relative; Left: 0px; TOP: 0px; HEIGHT: 226px; WIDTH: 140px;"></div> 

<!-- 这是提交表单,把代表用户形象的字符串赋到隐藏域 userequip 提交 -->

<form name="equipform" method="post" action="">

<input name="userequip" type="hidden" value=""> 

<input name="saveequip" type="submit" value="保存形象" > 

<input name="toreequip" type="button" value="原始形象" onclick="shoiwit('df>df>df>0');return false;" > 

</form>

<script language="JavaScript">

<!--

var myequip="df>df>df>0"; //最初显示的配置码,可由服务器读取并输出。

function shoiwit(equip){ //这个函数由配置码为参数,显示虚拟形象

showlayers=equip.split('>'); //以“>”为分隔符,分配各层图片名到一个数组 showlayers[]

str="";

for(i=0;i<showlayers.length;i++){

if(showlayers[i]!='0'&&showlayers[i]!=''){ //如果图片名为0或空值则该层不显示。

str+="<img src='"+(i+1)+"/"+showlayers[i]+".gif' style='padding:0;position:absolute;top:0;left:0;width:140;height:226;z-index:"+(i+1)+";'>";

}

}

//最后在最上一层覆盖一幅完全透明的图片,这样用户在上面右链>另存为也只能保存这幅图了:

str+="<img src='blank.gif' style='padding:0;position:absolute;top:0;left:0;width:140;height:226;z-index:100;'>";

if(equipform.userequip) equipform.userequip.value=myequip=equip; //把配置码赋值到隐藏域中

bodyshow.innerHTML=str; //显示各层图片。

}

//页面加载后先显示最初的虚拟形象:

document.body.onload=new Function("shoiwit(myequip)");

function dressit(layer,img){ //这个函数用于更换配置,参数为 层数,图片名

//event.returnValue=false;

showlayers=myequip.split('>');

newequip="";

for(i=0;i<showlayers.length;i++){

if(i+1==layer){

if(img==showlayers[i]) newequip+="df"; //如果该层已是这幅图片,则恢复为原始图片

else newequip+=img; //否则换为这幅图

}

else newequip+=showlayers[i]; //其他层图片不变

if(i+1!=showlayers.length) newequip+=">";

}

shoiwit(newequip); //显示最新配置

}

-->

</script>

<script event="onclick" for="cs">

var obj=event.srcElement;

if(obj.tagName!="IMG")return;

var vars=obj.src.match(/\/(\d)\/(\d)x\.gif$/);

dressit(vars[1],vars[2]);

</script>

<table border="0" cellspacing="0" cellpadding="0" id="cs">

  <tr> 

    <td><img src="4/1x.gif"></td>

    <td><img src="4/2x.gif"></td>

    <td><img src="4/3x.gif"></td>

    <td><img src="4/4x.gif"></td>

  </tr>

  <tr> 

    <td><img src="3/1x.gif"></td>

    <td><img src="3/2x.gif"></td>

    <td><img src="3/3x.gif"></td>

    <td><img src="3/4x.gif"></td>

  </tr>

  <tr> 

    <td><img src="2/1x.gif"></td>

    <td><img src="2/2x.gif"></td>

    <td><img src="2/3x.gif"></td>

    <td><img src="2/4x.gif"></td>

  </tr>

  <tr> 

    <td><img src="1/1x.gif"></td>

    <td><img src="1/2x.gif"></td>

    <td><img src="1/3x.gif"></td>

    <td><img src="1/4x.gif"></td>

  </tr>

</table>

</body>

</html>

运行效果如下图所示:

js实现仿QQ秀换装效果的方法

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
javascript 得到变量类型的函数
May 19 Javascript
动态加载js、css等文件跨iframe实现
Feb 24 Javascript
jQuery移除元素自动解绑事件实现思路及代码
May 31 Javascript
如何让浏览器支持jquery ajax load 前进、后退功能
Jun 12 Javascript
bootstrap datetimepicker 日期插件在火狐下出现一条报错信息的原因分析及解决办法
Mar 08 Javascript
webpack热模块替换(HMR)/热更新的方法
Apr 05 Javascript
jQuery实现的简单对话框拖动功能示例
Jun 05 jQuery
node.js中express模块创建服务器和http模块客户端发请求
Mar 06 Javascript
Vue项目中使用WebUploader实现文件上传的方法
Jul 21 Javascript
JS浮点数运算结果不精确的Bug解决
Aug 01 Javascript
node后端服务保活的实现
Nov 10 Javascript
js实现滑动滑块验证登录
Jul 24 Javascript
深入理解JavaScript系列(43):设计模式之状态模式详解
Mar 04 #Javascript
深入理解JavaScript系列(42):设计模式之原型模式详解
Mar 04 #Javascript
javascript 动态创建表格的2种方法总结
Mar 04 #Javascript
深入理解JavaScript系列(41):设计模式之模板方法详解
Mar 04 #Javascript
深入理解JavaScript系列(40):设计模式之组合模式详解
Mar 04 #Javascript
百度地图自定义控件分享
Mar 04 #Javascript
jQuery实现仿淘宝带有指示条的图片转动切换效果完整实例
Mar 04 #Javascript
You might like
使用XDebug调试及单元测试覆盖率分析
2011/01/27 PHP
自己写的php中文截取函数mb_strlen和mb_substr
2015/02/09 PHP
php访问数组最后一个元素的函数end()用法
2015/03/18 PHP
PHP Laravel 上传图片、文件等类封装
2017/08/16 PHP
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
javascript 变量作用域 代码分析
2009/06/26 Javascript
通过判断JavaScript的版本实现执行不同的代码
2010/05/11 Javascript
在标题栏显示新消息提示,很多公司项目中用到这个方法
2011/11/04 Javascript
jquery 滚动条事件简单实例
2013/07/12 Javascript
javascript实现颜色渐变的方法
2013/10/30 Javascript
javascript上下方向键控制表格行选中并高亮显示的方法
2015/02/13 Javascript
jquery实现标签支持图文排列带上下箭头按钮的选项卡
2015/03/14 Javascript
jQuery 1.9.1源码分析系列(十三)之位置大小操作
2015/12/02 Javascript
JavaScript 实现的checkbox经典实例分享
2016/10/16 Javascript
node.js程序作为服务并在windows下开机自启动(用forever)
2017/03/29 Javascript
js轮播图的插件化封装详解
2017/07/17 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
2018/04/05 Javascript
nodejs高大上的部署方式(PM2)
2018/09/11 NodeJs
windows下create-react-app 升级至3.3.1版本踩坑记
2020/02/17 Javascript
python去掉字符串中重复字符的方法
2014/02/27 Python
Python中的元类编程入门指引
2015/04/15 Python
举例讲解Python的Tornado框架实现数据可视化的教程
2015/05/02 Python
python3利用smtplib通过qq邮箱发送邮件方法示例
2017/12/03 Python
Python实现简单的用户交互方法详解
2018/09/25 Python
Django Python 获取请求头信息Content-Range的方法
2019/08/06 Python
TensorFlow内存管理bfc算法实例
2020/02/03 Python
python json.dumps中文乱码问题解决
2020/04/01 Python
使用phonegap进行本地存储的实现方法
2017/03/31 HTML / CSS
html5使用Drag事件编辑器拖拽上传图片的示例代码
2017/08/22 HTML / CSS
HTML5 解决苹果手机不能自动播放音乐问题
2017/12/27 HTML / CSS
优秀的导游求职信范文
2014/04/06 职场文书
《黄山奇石》教学反思
2014/04/19 职场文书
竞选宣传委员演讲稿
2014/05/24 职场文书
庆七一活动总结
2014/08/27 职场文书
活动费用申请报告
2015/05/15 职场文书
告诉你一个秘密:富人致富的五大优点
2019/07/11 职场文书