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 相关文章推荐
jquery1.4.2 for Visual studio 2010 模板文件
Jul 14 Javascript
2012年开发人员的16款新鲜的jquery插件体验分享
Dec 28 Javascript
js验证模型自我实现的具体方法
Jun 21 Javascript
jQuery实现DIV层收缩展开的方法
Feb 27 Javascript
跟我学习javascript的函数和函数表达式
Nov 16 Javascript
探讨JavaScript语句的执行过程
Jan 28 Javascript
Bootstrap3.0学习教程之JS折叠插件
May 27 Javascript
javascript之Boolean类型对象
Jun 07 Javascript
概述一个页面从输入URL到页面加载完的过程
Dec 16 Javascript
JavaScript捕捉事件和阻止冒泡事件实例分析
Aug 03 Javascript
vue-froala-wysiwyg 富文本编辑器功能
Sep 19 Javascript
基于JS实现快速读取TXT文件
Aug 25 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
咖啡磨器 如何选购一台适合家用的意式磨豆机
2021/03/05 新手入门
php实现session自定义会话处理器的方法
2015/01/27 PHP
PHP数组去重比较快的实现方式
2016/01/19 PHP
jQuery 学习第七课 扩展jQuery的功能 插件开发
2010/05/17 Javascript
js+数组实现网页上显示时间/星期几的实用方法
2013/01/18 Javascript
Javascript让DEDECMS告别手写Tag
2014/09/01 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
2015/09/10 Javascript
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
BootStrap日期控件在模态框中选择时间下拉菜单无效的原因及解决办法(火狐下不能点击)
2016/08/18 Javascript
Jquery uploadify 多余的Get请求(404错误)的解决方法
2017/01/26 Javascript
全面解析Node.js 8 重要功能和修复
2017/06/02 Javascript
vue.js中v-on:textInput无法执行事件问题的解决过程
2017/07/12 Javascript
浅谈mint-ui loadmore组件注意的问题
2017/11/08 Javascript
详解webpack import()动态加载模块踩坑
2018/07/17 Javascript
layui layer select 选择被遮挡的解决方法
2019/09/21 Javascript
JS实现盒子拖拽效果
2020/02/06 Javascript
vue自定义指令和动态路由实现权限控制
2020/08/28 Javascript
[58:09]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第三场 6.2
2018/06/03 DOTA
python计算日期之间的放假日期
2018/06/05 Python
Python实现读取机器硬件信息的方法示例
2018/06/09 Python
Python中return self的用法详解
2018/07/27 Python
python按键按住不放持续响应的实例代码
2019/07/17 Python
PyCharm中如何直接使用Anaconda已安装的库
2020/05/28 Python
python能在浏览器能运行吗
2020/06/17 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
2021/03/04 Python
25个CSS3动画按钮和菜单教程分享
2012/10/03 HTML / CSS
一款基于css3的列表toggle特效实例教程
2015/01/04 HTML / CSS
煤矿安全知识竞赛活动总结
2014/07/07 职场文书
高中课前三分钟演讲稿
2014/08/18 职场文书
工作失职检讨书
2015/01/26 职场文书
户外活动总结
2015/02/04 职场文书
基层党支部承诺书
2015/04/30 职场文书
青年志愿者服务活动总结
2015/05/06 职场文书
消费者理赔投诉书
2015/07/02 职场文书
新郎父亲婚礼致辞
2015/07/27 职场文书
为什么不建议在go项目中使用init()
2021/04/12 Golang