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代码实例
Jun 15 Javascript
html 锁定页面(js遮罩层弹出div效果)
Oct 27 Javascript
浏览器脚本兼容 文本框中,回车键触发事件的兼容
Jun 21 Javascript
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
Feb 03 Javascript
js使用for循环及if语句判断多个一样的name
Sep 09 Javascript
jQuery获取上传文件的名称的正则表达式
May 21 Javascript
jQuery读取XML文件的方法示例
Feb 03 Javascript
vue不通过路由直接获取url中参数的方法示例
Aug 24 Javascript
Koa2 之文件上传下载的示例代码
Mar 29 Javascript
jQuery实现模拟搜索引擎的智能提示功能简单示例
Jan 27 jQuery
js原生map实现的方法总结
Jan 19 Javascript
vue使用screenfull插件实现全屏功能
Sep 17 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防止恶意刷新与刷票的方法
2014/11/21 PHP
PHP SPL标准库之数据结构栈(SplStack)介绍
2015/05/12 PHP
十个PHP高级应用技巧果断收藏
2015/09/25 PHP
Yii2中多表关联查询hasOne hasMany的方法
2017/02/15 PHP
PHP实现重载的常用方法实例详解
2017/10/18 PHP
sina的lightbox效果。
2007/01/09 Javascript
IE innerHTML,outerHTML所引起的问题
2009/06/04 Javascript
详解JavaScript的流程控制语句
2015/11/30 Javascript
javascript实现checkbox复选框实例代码
2016/01/10 Javascript
js操作XML文件的实现方法兼容IE与FireFox
2016/06/25 Javascript
JSONP和批量操作功能的实现方法
2016/08/21 Javascript
面试常见的js算法题
2017/03/23 Javascript
JavaScript实现三级联动菜单实例代码
2017/06/26 Javascript
BootStrap中Table隐藏后显示问题的实现代码
2017/08/31 Javascript
在vue中实现点击选择框阻止弹出层消失的方法
2018/09/15 Javascript
vue使用better-scroll实现下拉刷新、上拉加载
2018/11/23 Javascript
微信小程序云开发如何实现数据库自动备份实现
2019/08/16 Javascript
优化Vue中date format的性能详解
2020/01/13 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
python使用PyFetion来发送短信的例子
2014/04/22 Python
Python采集腾讯新闻实例
2014/07/10 Python
Python常用内置函数总结
2015/02/08 Python
Python实现在线音乐播放器
2017/03/03 Python
Python使用pymysql小技巧
2017/06/04 Python
python获取代码运行时间的实例代码
2018/06/11 Python
tensorflow 获取变量&amp;打印权值的实例讲解
2018/06/14 Python
Python利用PyExecJS库执行JS函数的案例分析
2019/12/18 Python
python 实现保存最新的三份文件,其余的都删掉
2019/12/22 Python
美国体育用品商店:Paragon Sports
2017/10/08 全球购物
印度尼西亚最大的电商平台:Tokopedia(印尼版淘宝)
2017/12/02 全球购物
光声世纪笔试题目
2012/08/25 面试题
暑期研修感言
2014/02/17 职场文书
公司授权委托书范文
2014/08/02 职场文书
2014医学院领导班子对照检查材料思想汇报
2014/09/19 职场文书
意外死亡赔偿协议书
2014/10/14 职场文书
四风专项整治工作情况汇报
2014/10/28 职场文书