用JavaScript/JS制作仿“QQ秀”的虚拟形象
2010-09-14 13:02:56 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁诡垎鍐f寖闂佺娅曢幑鍥灳閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡欏嚬缂併劎绮妵鍕箳鐎n亞浠鹃梺闈涙搐鐎氫即鐛崶顒夋晬婵絾瀵ч幑鍥蓟閻斿摜鐟归柛顭戝枛椤牆顪冮妶搴′簼缂侇喗鎸搁悾鐑藉础閻愬秵妫冮崺鈧い鎺戝瀹撲礁鈹戦悩鎻掝伀缁惧彞绮欓弻娑氫沪閹规劕顥濋梺閫炲苯澧伴柟铏崌閿濈偛鈹戠€n€晠鏌嶆潪鎷屽厡闁汇倕鎳愮槐鎾存媴閸撴彃鍓卞銈嗗灦閻熲晛鐣烽妷褉鍋撻敐搴℃灍闁绘挻娲橀妵鍕箛闂堟稐绨肩紓浣藉煐濮樸劎妲愰幘璇茬闁冲搫鍊婚ˇ鏉库攽椤旂》宸ユい顓炲槻閻g兘骞掗幋鏃€鐎婚梺瑙勬儗閸樺€熲叺婵犵數濮烽弫鍛婃叏椤撱垹纾婚柟鍓х帛閳锋垶銇勯幒鍡椾壕缂備礁顦遍弫濠氱嵁閸℃稒鍊烽柛婵嗗椤旀劕鈹戦悜鍥╃У闁告挻鐟︽穱濠囨嚃閳哄啰锛滈梺褰掑亰閸欏骸鈻撳⿰鍫熺厸閻忕偟纭堕崑鎾诲箛娴e憡鍊梺纭呭亹鐞涖儵鍩€椤掑啫鐨洪柡浣圭墪閳规垿鎮欓弶鎴犱桓闂佸湱枪閹芥粎鍒掗弮鍫熷仺缂佸顕抽敃鍌涚厱闁哄洢鍔岄悘鐘绘煕閹般劌浜惧┑锛勫亼閸婃牠宕濋敃鈧…鍧楀焵椤掍胶绠剧€光偓婵犱線鍋楀┑顔硷龚濞咃絿妲愰幒鎳崇喓鎷犻懠鑸垫毐闂傚倷鑳舵灙婵炲鍏樺顐ゆ嫚瀹割喖娈ㄦ繝鐢靛У绾板秹寮查幓鎺濈唵閻犺櫣灏ㄥ銉р偓瑙勬尭濡繂顫忛搹鍦<婵☆垰鎼~宥囩磽娴i鍔嶉柟绋垮暱閻g兘骞嬮敃鈧粻濠氭偣閸パ冪骇鐎规挸绉撮—鍐Χ閸℃ê闉嶇紓浣割儐閸ㄥ墎绮嬪澶嬪€锋い鎺嶇瀵灝鈹戦埥鍡楃仯闁告鍕洸濡わ絽鍟崐鍨叏濡厧浜鹃悗姘炬嫹

核心提示: 照此这安置好图片后,开始编写代码,用JavaScript/JS制作仿“QQ秀”的虚拟形象(2),为了便于理解,以下代码的顺序并不完全按照演示中的顺序:<!-- 在要显示形象预览的地方放置以下这句代码 --><div id="bodyshow" styl
照此这安置好图片后,开始编写代码,为了便于理解,以下代码的顺序并不完全按照演示中的顺序:
<!-- 在要显示形象预览的地方放置以下这句代码 -->
<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=http://tech.ddvip.com/2007-04/'equipment/"+(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=http://tech.ddvip.com/2007-04/'equipment/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){ //这个函数用于更换配置,参数为 层数,图片名
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>
<!--
以下是供选图片列表,点击一幅图则更改相应的层的这幅图片
注意链接路径,javascript:dressit(4,1) 表示第4层换上/脱下图片"1.gif",依此类推;
不过要注意若要第4层换上/脱下图片“df.gif”,则应加引号,写成 javascript:dressit(4,'df')
-->
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="84"><a href="javascript:dressit(4,1)"><img src=http://tech.ddvip.com/2007-04/"equipment/4/1x.gif" width="84" height="84" border="0"></a></td>
<td width="84"><a href="javascript:dressit(4,2)"><img src=http://tech.ddvip.com/2007-04/"equipment/4/2x.gif" width="84" height="84" border="0"></a></td>
<td width="84"><a href="javascript:dressit(4,3)"><img src=http://tech.ddvip.com/2007-04/"equipment/4/3x.gif" width="84" height="84" border="0"></a></td>
<td width="84"><a href="javascript:dressit(4,4)"><img src=http://tech.ddvip.com/2007-04/"equipment/4/4x.gif" width="84" height="84" border="0"></a></td>
</tr>
<tr>
<td><a href="javascript:dressit(3,1)"><img src=http://tech.ddvip.com/2007-04/"equipment/3/1x.gif" width="84" height="84" border="0"></a></td>
<td><a href="javascript:dressit(3,2)"><img src=http://tech.ddvip.com/2007-04/"equipment/3/2x.gif" width="84" height="84" border="0"></a></td>
<td><a href="javascript:dressit(3,3)"><img src=http://tech.ddvip.com/2007-04/"equipment/3/3x.gif" width="84" height="84" border="0"></a></td>
<td><a href="javascript:dressit(3,4)"><img src=http://tech.ddvip.com/2007-04/"equipment/3/4x.gif" width="84" height="84" border="0"></a></td>
</tr>
<tr>
<td><a href="javascript:dressit(2,1)"><img src=http://tech.ddvip.com/2007-04/"equipment/2/1x.gif" width="84" height="84" border="0"></a></td>
<td><a href="javascript:dressit(2,2)"><img src=http://tech.ddvip.com/2007-04/"equipment/2/2x.gif" width="84" height="84" border="0"></a></td>
<td><a href="javascript:dressit(2,3)"><img src=http://tech.ddvip.com/2007-04/"equipment/2/3x.gif" width="84" height="84" border="0"></a></td>
<td><a href="javascript:dressit(2,4)"><img src=http://tech.ddvip.com/2007-04/"equipment/2/4x.gif" width="84" height="84" border="0"></a></td>
</tr>
<tr>
<td><a href="javascript:dressit(1,1)"><img src=http://tech.ddvip.com/2007-04/"equipment/1/1x.gif" width="84" height="84" border="0"></a></td>
<td><a href="javascript:dressit(1,2)"><img src=http://tech.ddvip.com/2007-04/"equipment/1/2x.gif" width="84" height="84" border="0"></a></td>
<td><a href="javascript:dressit(1,3)"><img src=http://tech.ddvip.com/2007-04/"equipment/1/3x.gif" width="84" height="84" border="0"></a></td>
<td><a href="javascript:dressit(1,4)"><img src=http://tech.ddvip.com/2007-04/"equipment/1/4x.gif" width="84" height="84" border="0"></a></td>
</tr>
</table>
点击“保存形象”将向服务器提交配置码变量“userequip”,可用服务器端语言进行处理。要在其他地方显示该形象,则可根据注释选取上面代码中的部分代码就行了。
有兴趣的朋友可点击这里(注:将example.htm和equipment打包供下载,因为读者看不到图片放置格式)下载演示的源文件及图片。
Tags:JavaScript JS 制作
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接