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 相关文章推荐
js 与或运算符 || &amp;&amp; 妙用
Dec 09 Javascript
Javascript基础教程之数据类型转换
Jan 18 Javascript
最简单的tab切换实例代码
May 13 Javascript
artDialog+plupload实现多文件上传
Jul 19 Javascript
Bootstrap Table使用心得总结
Nov 29 Javascript
原生js编写基于面向对象的分页组件
Dec 05 Javascript
详解vue数组遍历方法forEach和map的原理解析和实际应用
Nov 15 Javascript
vue-better-scroll 的使用实例代码详解
Dec 03 Javascript
详解JavaScript的数据类型以及数据类型的转换
Apr 20 Javascript
解决vue-cli 打包后自定义动画未执行的问题
Nov 12 Javascript
JS实现关闭小广告特效
Jan 29 Javascript
vue-cli中实现响应式布局的方法
Mar 02 Vue.js
深入理解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
动态改变textbox的宽高的js
2006/10/26 Javascript
可以支持多中格式的JS键盘
2007/05/02 Javascript
关于Aptana Studio生成自动备份文件的解决办法
2009/12/23 Javascript
基于jquery的设置页面文本框 只能输入数字的实现代码
2011/04/19 Javascript
判断输入是否为空,获得输入类型的JS代码
2013/10/30 Javascript
javascript中实现兼容JAVA的hashCode算法代码分享
2020/08/11 Javascript
Javascript实现颜色rgb与16进制转换的方法
2015/04/18 Javascript
jquery动态增加删减表格行特效
2015/11/20 Javascript
jQuery实现进度条效果代码
2015/12/17 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
2015/12/22 Javascript
ionic隐藏tabs的方法
2016/08/29 Javascript
浅谈Angular中ngModel的$render
2016/10/24 Javascript
jQuery实现页面顶部下拉广告
2016/12/30 Javascript
js实现固定宽高滑动轮播图效果
2017/01/13 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
2017/03/03 Javascript
React组件重构之嵌套+继承及高阶组件详解
2018/07/19 Javascript
vue中使用heatmapjs的示例代码(结合百度地图)
2018/09/05 Javascript
微信小程序+云开发实现欢迎登录注册
2019/05/24 Javascript
Vue Element UI + OSS实现上传文件功能
2019/07/31 Javascript
JS如何实现封装列表右滑动删除收藏按钮
2020/07/23 Javascript
vue打包通过image-webpack-loader插件对图片压缩优化操作
2020/11/12 Javascript
python实现批量转换文件编码(批转换编码示例)
2014/01/23 Python
python如何将图片转换为字符图片
2020/08/19 Python
cmd运行python文件时对结果进行保存的方法
2018/05/16 Python
python使用Matplotlib画饼图
2018/09/25 Python
python 判断linux进程,并杀死进程的实现方法
2019/07/01 Python
Django Admin 上传文件到七牛云的示例代码
2020/06/20 Python
5分钟让你掌握css3阴影、倒影、渐变小技巧(小编推荐)
2016/08/15 HTML / CSS
CSS3 真的会替代 SCSS 吗
2021/03/09 HTML / CSS
Html5 new XMLHttpRequest()监听附件上传进度
2021/01/14 HTML / CSS
Kidsroom台湾:来自德国的婴儿用品
2017/12/11 全球购物
Notino意大利:购买香水和化妆品
2018/11/14 全球购物
制定岗位职责的原则
2013/11/08 职场文书
社区八一活动方案
2014/02/03 职场文书
销售提升方案
2014/06/07 职场文书
2015年派出所工作总结
2015/04/24 职场文书