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 相关文章推荐
JQuery 确定css方框模型(盒模型Box Model)
Jan 22 Javascript
简略说明Javascript中的= =(等于)与= = =(全等于)区别
Apr 16 Javascript
『jQuery』取指定url格式及分割函数应用
Apr 22 Javascript
javaScript实现浮点数转十六进制字符
Oct 29 Javascript
jQuery scrollFix滚动定位插件
Apr 01 Javascript
js+cookies实现悬浮购物车的方法
May 25 Javascript
异步JavaScript编程中的Promise使用方法
Jul 28 Javascript
JavaScript事件对象event用法分析
Jul 27 Javascript
vue项目打包部署到服务器的方法示例
Aug 27 Javascript
JS实现网站吸顶条
Jan 08 Javascript
vue移动端的左右滑动事件详解
Jun 17 Javascript
JavaScript文档对象模型DOM
Nov 20 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
PHP静态成员变量
2017/02/14 PHP
JS 树形递归实例代码
2010/05/18 Javascript
javaScript NameSpace 简单说明介绍
2013/07/18 Javascript
Jquery通过Ajax方式来提交Form表单的具体实现
2013/11/07 Javascript
jqGrid读取选择的多行的某个属性代码
2014/05/18 Javascript
常用的JavaScript WEB操作方法分享
2015/02/28 Javascript
js阻止浏览器默认行为的简单实例
2016/05/15 Javascript
JS 对象(Object)和字符串(String)互转方法
2016/05/20 Javascript
Javascript基础学习笔记(菜鸟必看篇)
2016/07/22 Javascript
如何提高数据访问速度
2016/12/26 Javascript
从vue基础开始创建一个简单的增删改查的实例代码(推荐)
2018/02/11 Javascript
基于vue通用表单解决方案的思考与分析
2019/03/16 Javascript
如何自动化部署项目?折腾服务器之旅~
2019/04/16 Javascript
关于layui 实现点击按钮添加一行(方法渲染创建的table)
2019/09/29 Javascript
ant design实现圈选功能
2019/12/17 Javascript
JavaScript ES 模块的使用
2020/11/12 Javascript
[45:56]Ti4正赛第一天 VG vs NEWBEE 3
2014/07/19 DOTA
[36:19]2018DOTA2亚洲邀请赛 小组赛 A组加赛 Newbee vs LGD
2018/04/03 DOTA
python遍历类中所有成员的方法
2015/03/18 Python
Python中一些自然语言工具的使用的入门教程
2015/04/13 Python
python开发之thread实现布朗运动的方法
2015/11/11 Python
详解在Python程序中解析并修改XML内容的方法
2015/11/16 Python
浅谈django model的get和filter方法的区别(必看篇)
2017/05/23 Python
python代码实现ID3决策树算法
2017/12/20 Python
Python selenium抓取微博内容的示例代码
2018/05/17 Python
对Python3.x版本print函数左右对齐详解
2018/12/22 Python
基于Python在MacOS上安装robotframework-ride
2018/12/28 Python
canvas实现图片马赛克的示例代码
2018/03/26 HTML / CSS
Weblogic的布署方式
2013/08/23 面试题
计算机求职信
2013/12/01 职场文书
葬礼司仪主持词
2014/03/31 职场文书
校园主题婚礼活动策划方案
2014/09/15 职场文书
代领学位证书毕业证书委托书
2014/09/30 职场文书
2015年班主任个人工作总结
2015/03/31 职场文书
拾金不昧通报表扬范文
2015/05/05 职场文书
2016年父亲节寄语
2015/12/04 职场文书