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 ajax abort()的使用方法
Oct 28 Javascript
Extjs 3.3切换tab隐藏相应工具栏出现空白解决
Apr 02 Javascript
jquery分页插件AmSetPager(自写)
Apr 15 Javascript
18个非常棒的jQuery代码片段
Nov 02 Javascript
jquery ui dialog替代confirm实例分析
Jan 25 Javascript
bootstrap中的 form表单属性role=&quot;form&quot;的作用详解
Jan 20 Javascript
Vue.js 2.x之组件的定义和注册图文详解
Jun 19 Javascript
JS实现获取进今年第几天是周几的方法分析
Jun 27 Javascript
在vue项目中,将juery设置为全局变量的方法
Sep 25 Javascript
微信小程序之swiper滑动面板用法示例
Dec 04 Javascript
vue-cli 3.0 版本与3.0以下版本在搭建项目时的区别详解
Dec 11 Javascript
原生js+css实现tab切换功能
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
apache php模块整合操作指南
2012/11/16 PHP
通过curl模拟post和get方式提交的表单类
2014/04/23 PHP
php实现登陆模块功能示例
2016/10/20 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
dojo 之基础篇
2007/03/24 Javascript
javascript 点击整页变灰的效果(可做退出效果)。
2008/01/09 Javascript
js 获取服务器控件值的代码
2010/03/05 Javascript
jQuery 阴影插件代码分享
2012/01/09 Javascript
javascrip关于继承的小例子
2013/05/10 Javascript
JS事件在IE与FF中的区别详细解析
2013/11/20 Javascript
JavaScript中的冒泡排序法
2016/08/03 Javascript
JS数组返回去重后数据的方法解析
2017/01/03 Javascript
分享bootstrap学习笔记心得(组件及其属性)
2017/01/11 Javascript
利用js定义一个导航条菜单
2017/03/14 Javascript
JS脚本实现网页自动秒杀点击
2018/01/11 Javascript
AngularJS模态框模板ngDialog的使用详解
2018/05/11 Javascript
vue利用v-for嵌套输出多层对象,分别输出到个表的方法
2018/09/07 Javascript
jQuery实现ajax的嵌套请求案例分析
2019/02/16 jQuery
超轻量级的js时间库miment使用解析
2019/08/02 Javascript
如何基于viewport vm适配移动端页面
2020/11/13 Javascript
[00:35]DOTA2上海特级锦标赛 Newbee战队宣传片
2016/03/03 DOTA
[40:03]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#1EHOME VS Archon
2016/03/02 DOTA
图文详解WinPE下安装Python
2016/05/17 Python
Python实现的NN神经网络算法完整示例
2018/06/19 Python
python版本单链表实现代码
2018/09/28 Python
python opencv 批量改变图片的尺寸大小的方法
2019/06/28 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
2020/01/06 Python
Django bulk_create()、update()与数据库事务的效率对比分析
2020/05/15 Python
管理学专业个人求职信范文
2013/09/21 职场文书
夜大毕业生自我评价分享
2013/11/10 职场文书
医院护士专业个人的求职信
2013/12/09 职场文书
《夸父追日》教学反思
2014/02/26 职场文书
遵纪守法演讲稿
2014/05/23 职场文书
学习十八大的心得体会
2014/09/01 职场文书
幼儿园小班个人工作总结
2015/02/12 职场文书
当你找不到方向的时候,不妨读读刘备的一生
2019/08/05 职场文书