【www.gdgbn.com--Dom教程】

网页特效网页简体与繁体转换算法
var defaultencoding = 2; // 1:
var translatedelay = 0;
var cookiedomain = "http://www.111cn.net"; //更改为你的博客网址
var msgtotraditionalchinese = "繁体"; //此处可以更改为你想要显示的文字
var msgtosimplifiedchinese = "简体";  //同上,但两处均不建议更改
var translatebuttonid = "translatelink";

var currentencoding = defaultencoding;
var targetencodingcookie = "targetencoding" + cookiedomain.replace(/./g,"");
var targetencoding = ( getcookie(targetencodingcookie) == null ? defaultencoding : getcookie(targetencodingcookie) );
var translatebuttonobject;

function translatetext( txt )
{
 if( txt == "" || txt == null )
  return "";
 if( currentencoding == 1 && targetencoding == 2 )
  return simplized(txt);
 else if ( currentencoding == 2 && targetencoding == 1 )
  return traditionalized(txt);
 else
  return txt;
}

function translatebody( fobj )
{
 if( typeof( fobj ) == "object" )
  var objs = fobj.childnodes;
 else
  var objs = document.body.childnodes;

 for(var i=0;i  {
  var obj=objs.item(i);
  if( obj.tagname == "object" )
   continue;
  if( "||br|hr|textarea|".indexof( "|"+obj.tagname+"|" ) > 0 || obj == translatebuttonobject )
   continue;
  if( obj.title != "" && obj.title != null )
   obj.title = translatetext( obj.title );
  if( obj.alt != "" && obj.alt != null )
   obj.alt = translatetext( obj.alt );
  if( obj.tagname == "input" && obj.value != "" && obj.type != "text" && obj.type != "hidden" )
   obj.value = translatetext( obj.value );
  if( obj.nodetype == 3 )
   obj.data = translatetext( obj.data );
  else
   translatebody(obj);
 }
}

function translatepage()
{
 if( targetencoding == 1 )
 {
  currentencoding  = 1;
  targetencoding = 2;
  translatebuttonobject.innerhtml = msgtotraditionalchinese;
  setcookie( targetencodingcookie, targetencoding, 7 );
  translatebody();
 }
 else if( targetencoding == 2 )
 {
  currentencoding  = 2;
  targetencoding = 1;
  translatebuttonobject.innerhtml = msgtosimplifiedchinese;
  setcookie( targetencodingcookie, targetencoding, 7 );
  translatebody();
 }
}

function jtpystr()
{
 return "简体";
}

function ftpystr()
{
 return "繁体";
}

function traditionalized( cc )
{
 var str = "";
 var ss = jtpystr();
 var tt = ftpystr();

 for(var i = 0 ; i < cc.length ; i++ )
 {
  if( cc.charcodeat(i) > 10000 && ss.indexof( cc.charat(i) ) != -1 )
   str += tt.charat( ss.indexof( cc.charat(i) ) );
    else
     str += cc.charat(i);
 }
 return str;
}

function simplized(cc){
 var str = "";
 var ss = jtpystr();
 var tt = ftpystr();

 for( var i=0 ; i < cc.length ; i++)
 {
  if( cc.charcodeat(i) > 10000 && tt.indexof( cc.charat(i) ) != -1 )
   str += ss.charat( tt.indexof( cc.charat(i) ) );
    else
     str += cc.charat(i);
 }
 return str;
}

function setcookie(name,value,days)
{
 if (days)
 {
  var date = new date();
  date.settime(date.gettime()+(days*24*60*60*1000));
  var expires = "; expires="+date.togmtstring();
 }
 else var expires = "";
 document.cookie = name+"="+value+expires+"; path=/";
}

function getcookie(name)
{
 var nameeq = name + "=";
 var ca = document.cookie.split(";");
 for(var i=0;i < ca.length;i++)
 {
  var c = ca[i];
  while (c.charat(0)==" ") c = c.substring(1,c.length);
  if (c.indexof(nameeq) == 0) return c.substring(nameeq.length,c.length);
 }
 return null;
}

function translateinitilization()
{
 translatebuttonobject = document.getelementbyid( translatebuttonid );
 if ( translatebuttonobject )
 {
  with( translatebuttonobject )
  {
   if(typeof(document.all)!="object")
   {
    href="javascript:translatepage();";
   }
   else
   {
    href="#";
    onclick = new function( "translatepage(); return false;");
   }
  }
 
  if ( currentencoding != targetencoding )
  {
   settimeout("translatebody()",translatedelay);
   if( targetencoding == 1 )
    translatebuttonobject.innerhtml = msgtosimplifiedchinese;
   else
    translatebuttonobject.innerhtml = msgtotraditionalchinese;
  }
 }
}

调用方法
<script type="text/javascript">

var defaultencoding = 0; //默认是否繁体,0-简体,1-繁体
var translatedelay = 0; //延迟时间,若不在网页最后运行,要设定延迟翻译时间,如100表示100ms
var cookiedomain = "http://www.111cn.net"; //cookie地址,一定要设定,通常为你的网址
var msgtotraditionalchinese = "简体->繁体"; //默认切换为繁体时显示的中文字符
var msgtosimplifiedchinese = "繁体->简体"; //默认切换为简体时显示的中文字符
var translatebuttonid = "translatelink"; //默认互换id
translateinitilization();
</script>

本文来源:http://www.gdgbn.com/wangyezhizuo/29376/