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使用onclick事件改变选中行的颜色
Dec 30 Javascript
解决Jquery鼠标经过不停滑动的问题
Mar 03 Javascript
Node.js中使用计时器定时执行函数详解
Aug 15 Javascript
jQuery中ajax的get()方法用法实例
Dec 26 Javascript
js实现按钮控制图片360度翻转特效的方法
Feb 17 Javascript
百度地图api如何使用
Aug 03 Javascript
JavaScript简单实现弹出拖拽窗口(一)
Jun 17 Javascript
jQuery组件easyui基本布局实现代码
Aug 25 Javascript
Three.js入门之hello world以及如何绘制线
Sep 25 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
Dec 10 Javascript
vue中使用element组件时事件想要传递其他参数的问题
Sep 18 Javascript
vue实现购物车列表
Jun 30 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
example1.php
2006/10/09 PHP
PHP 日常开发小技巧
2009/09/23 PHP
PHP通过iconv将字符串从GBK转换为UTF8字符集
2011/07/18 PHP
PHP实现连接设备、通讯和发送命令的方法
2015/10/13 PHP
PHPUnit + Laravel单元测试常用技能
2019/11/06 PHP
JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
2013/12/06 Javascript
javascript实现当前页导航激活的方法
2015/02/27 Javascript
原生JS实现响应式瀑布流布局
2015/04/02 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
2015/09/24 Javascript
jQuery插件支持同一页面被多次调用
2016/02/14 Javascript
JavaScript实现阿拉伯数字和中文数字互相转换
2016/06/12 Javascript
JavaScript实现横线提示输入验证码随输入验证码输入消失的方法
2016/09/24 Javascript
js微信支付实现代码
2016/12/22 Javascript
jQuery实现的无缝广告图片左右滚动功能详解
2016/12/24 Javascript
loading动画特效小结
2017/01/22 Javascript
原生js简单实现放大镜特效
2017/05/16 Javascript
Vue.js框架路由使用方法实例详解
2017/08/25 Javascript
使用json-server简单完成CRUD模拟后台数据的方法
2018/07/12 Javascript
webpack 开发和生产并行设置的方法
2018/11/08 Javascript
JS实现返回上一页并刷新页面的方法分析
2019/07/16 Javascript
JS一次前端面试经历记录
2020/03/19 Javascript
详解template标签用法(含vue中的用法总结)
2021/01/12 Vue.js
django之常用命令详解
2016/06/30 Python
python list排序的两种方法及实例讲解
2017/03/20 Python
在Python中执行系统命令的方法示例详解
2017/09/14 Python
设置python3为默认python的方法
2018/10/31 Python
Python中时间datetime的处理与转换用法总结
2019/02/18 Python
Tomcat Mysql datasource数据源配置
2015/12/28 面试题
Linux不知道文件后缀名怎么判断文件类型
2014/08/21 面试题
学校感恩节活动策划方案
2014/10/06 职场文书
2014年车间主任工作总结
2014/12/10 职场文书
庐山导游词
2015/02/03 职场文书
工作会议简报
2015/07/20 职场文书
深入讲解数据库中Decimal类型的使用以及实现方法
2022/02/15 MySQL
「偶像大师 MILLION LIVE!」七尾百合子手办开订
2022/03/21 日漫
MySQL选择合适的备份策略和备份工具
2022/06/01 MySQL