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 IE 与 FF中兼容问题小结
Feb 18 Javascript
javascript 日期时间函数(经典+完善+实用)
May 27 Javascript
日历查询的算法 如何计算某一天是星期几
Dec 12 Javascript
js拼接html注意问题示例探讨
Jul 14 Javascript
$(&quot;&quot;).click与onclick的区别示例介绍
Sep 25 Javascript
Javascript控制input输入时间格式的方法
Jan 28 Javascript
javascript检查某个元素在数组中的索引值
Mar 30 Javascript
动态加载JavaScript文件的两种方法
Apr 22 Javascript
JS实现点击事件统计的简单实例
Jul 10 Javascript
angular ng-click防止重复提交实例
Jun 16 Javascript
vue使用axios时关于this的指向问题详解
Dec 22 Javascript
JavaScript实现图片上传并预览并提交ajax
Sep 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
php 获取mysql数据库信息代码
2009/03/12 PHP
php中json_encode中文编码问题分析
2011/09/13 PHP
php 按指定元素值去除数组元素的实现方法
2011/11/04 PHP
php计算给定时间之前的函数用法实例
2015/04/03 PHP
老版本PHP转义Json里的特殊字符的函数
2015/06/08 PHP
Laravel+Intervention实现上传图片功能示例
2019/07/09 PHP
Laravel5.5 实现后台管理登录的方法(自定义用户表登录)
2019/09/30 PHP
JavaScript中令你抓狂的魔术变量
2006/11/30 Javascript
Jquery 基础学习笔记
2009/05/29 Javascript
ExtJS判断IE浏览器类型的方法
2014/02/10 Javascript
简介AngularJS中$http服务的用法
2016/02/06 Javascript
判断数组是否包含某个元素的js函数实现方法
2016/05/19 Javascript
使用jQuery,Angular实现登录界面验证码详解
2017/04/27 jQuery
解决canvas画布使用fillRect()时高度出现双倍效果的问题
2017/08/03 Javascript
jquery实现回车键触发事件(实例讲解)
2017/11/21 jQuery
Webpack devServer中的 proxy 实现跨域的解决
2018/06/15 Javascript
详解ES6中的 Set Map 数据结构学习总结
2018/11/06 Javascript
AngularJS实现的自定义过滤器简单示例
2019/02/02 Javascript
微信小程序上传图片到php服务器的方法
2019/05/23 Javascript
[01:31:03]DOTA2完美盛典全回顾 见证十五项大奖花落谁家
2017/11/28 DOTA
[49:15]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第二场 1月19日
2021/03/11 DOTA
python学习数据结构实例代码
2015/05/11 Python
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
2016/05/28 Python
Scrapy抓取京东商品、豆瓣电影及代码分享
2017/11/23 Python
Python3 实现随机生成一组不重复数并按行写入文件
2018/04/09 Python
对python 中class与变量的使用方法详解
2019/06/26 Python
Django高级编程之自定义Field实现多语言
2019/07/02 Python
详解canvas绘制网络字体几种方法
2019/08/27 HTML / CSS
英国经典球衣网站:Classic Football Shirts
2017/05/20 全球购物
澳大利亚在线床零售商:Bedworks
2020/09/01 全球购物
教师实习的自我鉴定
2013/10/26 职场文书
服装电子商务创业计划书
2014/01/30 职场文书
2014年大班保育员工作总结
2014/12/02 职场文书
公司员工奖惩制度
2015/08/04 职场文书
实验心得体会范文
2016/01/25 职场文书
使用ORM新增数据在Mysql中的操作步骤
2021/07/26 MySQL