我的一亩三分地 我就喜欢!
13fen  设为主页
 收藏本站
 
当前位置: > 一亩三分地:首页 > 网络学院 > 网页设计 > JS特效 > 在Web页上模拟(QQ)魔法表情
热门文章排行
热门文章排行 网页上传常见问题分析(11-24)
五彩缤纷建网页(一)(10-11)
五彩缤纷建网页(二)(10-11)
五彩缤纷建网页(三)(10-11)
五彩缤纷建网页(四)(10-11)
精采文章排行
精采文章排行 网页技巧二十例(11-13)
模仿QQ和MSN消息提示的效果(11-13)
根据分辨率不同调用不同的css文件(11-13)
Dreamweaver 基础 :DW的"文档"工具(11-01)
Dreamweaver 基础 :DW的"文档"窗口(11-01)
技术专题推荐
网管论坛交流
 

在Web页上模拟(QQ)魔法表情 

作者:佚名   来源:Linux 宝库   点击:   日期:2006-11-24


-->

  在WEB页面中利用层(DIV)和嵌入FLASH时对相关的属性进行设置,可以模拟出魔法表情的效果.(即播放透明背景的SWF,具体可以看看QQ较新版本中的"魔法表情"功能).由于是在WEB页中模拟实现,所以,当然是你关闭浏览器或者说最小化浏览器,模拟实现的魔法表情也就随着WEB页面一起"没有了".


  我用JS写了个简单的例子,演示页面(DEMO)入下:


http://exp.univchina.org/univs/sjtu/Tomato/simulateMagicFace/Tomato.html


  实现方法简单说来主要注意两个地方就可以了:一是在嵌入FLASH的代码中,需要设置参数让FLASH的背景透明, <param name="wmode" value="transparent">,第二就是要把FLASH放到一个专门的层中,然后控制层显示在适当的位置就可以了.当然,你可以有两种选择,一个就是动态写入嵌入FLASH的代码,另一个就是动态控制层的显示属性,即层是否可见.


在DEMO中用到的JS代码如下:


1.用于初始化并排列待选表情的方法Ini;


function Ini()
{
 var left;
 var top;
 var screenWidth = screen.availWidth;
 var screenHeight = screen.availHeight;
 left = (screenWidth-500)/2;
 top = (screenHeight-500)/2;
 var imgPath;
 document.write("<img src=\"magicface\\images\\mf_000.gif\" />


点击图标查看对应的魔法表情 <br />");
 for(i=1;i<=320;i++)
 {
  if(i<100)
  {
   if(i<10)
   {
    imgPath = "magicface\\images\\mf_00"+i+".gif";
   }
   else
   {
    imgPath = "magicface\\images\\mf_0"+i+".gif";
   }
  }
  else
  {
   imgPath = "magicface\\images\\mf_"+i+".gif";
  }
  document.write("<a href=\"javascript:showMagicFace("+i+" , "+left+" , "+top+" , 500 , 350);\"><img src=\""+imgPath+"\" border=\"0\" /></a>  ");
 }
}


2.用于显示魔法表情的方法showMagicFace;


function showMagicFace(ID , _left , _top , _width , _height)
{
 Ini();
 var _path;
 if(ID<100)
 {
  if(ID<10)
  {
   _path = "magicface\\flash\\mf_00"+ID+".swf";
  }
  else
  {
   _path = "magicface\\flash\\mf_0"+ID+".swf";
  }
 }
 else
 {
  _path = "magicface\\flash\\mf_"+ID+".swf";
 }
 document.write("<DIV style=\"Z-INDEX: 99; POSITION: absolute; left:" + _left + "px;top:" + _top + "px\"><object codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab


#version=6,0,29,0\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\"" + _width + "\" height=\"" + _height + "\"><param name=\"movie\" value=\"" + _path + "\"><param name=\"menu\" value=\"false\"><param name=\"quality\" value=\"high\"><param name=\"play\" value=\"false\"><param name=\"wmode\" value=\"transparent\"><embed src=\"" + _path + "\" wmode=\"transparent\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width=\""+_width+"\" height=\"" + _height + "\"></embed></object></DIV>");
 var over = setTimeout("location.href='Tomato.html'",5000);
}



然后只需要在页面载入时执行Ini()初始化就可以了.


  因为在DEMO不涉及后台程序,有兴趣的朋友直接把查看HTML页面源代码就可以.欢迎转载和使用,请保留版权信息





文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:
·在状态栏中实现活动文字效果 ·DW+ASP玩转动态二级菜单
·鼠标事件的基础和完美实现 ·DW滑动菜单的制作
·网页里震动的效果怎么做 ·灵活运用DREAMWEAVER的SITE功能

   文章评论:(条)
  
 请留名: 匿名评论   点击查看所有评论 网管论坛
 

  责任编辑:一分  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。