js 返回当前HTML Element 的样式属性值 函数 fGetStyle

类别: Javascript, function
标签: css, html, js, property, style, value, compatibility, Element, current, fGetStyle, CurrentStyle, computed, getComputedStyle
摘要: ..
正文:


2007 年 11 月 23 日, 14 时 38 分 12 秒 375 毫秒
function fGetStyle(Ele, sStyle)
{ // shawl.qiu code, return string; Func: fCkBrs, fRgbToHex
 var Brs = fCkBrs()
 if(Brs===3||Brs===2)
 {
  var sReturn = getComputedStyle(Ele, null)[sStyle];
  if(/\brgb\b/i.test(sReturn))
  {
   return fRgbToHex(sReturn);
  }
  return sReturn;
 }
 else return Ele.currentStyle[sStyle];
} // end function fGetStyle(Ele, sStyle)
 
function fCkBrs()
{// shawl.qiu script
 switch (navigator.appName)
 {
  case 'Opera': return 2;
  case 'Netscape': return 3;
  default: return 1;
 }
} // end function fCkBrs 

function fRgbToHex(sRgb, bNoSharp, bDebug)
{ // shawl.qiu code, return string; Func: fPadStr
 if(!sRgb||sRgb=="") throw new Error("RGB颜色代码不正确!");
 var Debug = bDebug;
 
 var sSharp = "";
 if(!bNoSharp) sSharp = "#";
 if(/rgb\(/i.test(sRgb))
 {
  sRgb = sRgb.replace(/^[\s\S]*?rgb\((.*?)\)[\s\S]*/gi, "$1").replace(/\s+/g, "");
 }
 var RgbAr = sRgb.split(",");
 var sReturn =
  [
  sSharp
  ,(fPadStr((RgbAr[0]-0).toString(16)).toUpperCase())
  ,(fPadStr((RgbAr[1]-0).toString(16)).toUpperCase())
  ,(fPadStr((RgbAr[2]-0).toString(16)).toUpperCase())
  ].join("");
 
 if(Debug)alert(sReturn);
 
 return sReturn;
} // end function fRgbToHex(sRgb, bNoSharp, bDebug)
 
function fPadStr(sSrc, sPad, nLen)
{// shawl.qiu script, return string
 if(!sSrc)return false;
 if(!sPad)sPad='0';
 if(!nLen)nLen=2;
 sSrc+='';
 if(sSrc.length>=nLen)return sSrc;
 sPad=new Array(nLen+1).join(sPad);
 var re=new RegExp('.*(.{'+(nLen)+'})$');
 return (sPad+sSrc).replace(re,'$1');
} // end function fPadStr




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>shawl.qiu template</title>
</head>
<body>
<div id="d1"></div>

<script type="text/javascript">
/*<![CDATA[*/
 var d1 = document.getElementById("d1");
 
 document.write("fGetStyle(d1, 'color'): ", fGetStyle(d1, 'color')"<br/>");
 document.write("fGetStyle(d1, 'backgroundColor'): ", fGetStyle(d1, 'backgroundColor')"<br/>");
 
 
 function fGetStyle(Ele, sStyle)
 { // shawl.qiu : return string
  var Brs = fCkBrs()
  if(Brs===3)
  {
   var sReturn = getComputedStyle(Ele, null)[sStyle];
   if(/\brgb\b/i.test(sReturn))
   {
    return fRgbToHex(sReturn);
   }
   return sReturn;
  }
  else return Ele.currentStyle[sStyle];
  
  function fCkBrs()
  {// shawl.qiu script
   switch (navigator.appName)
   {
    case 'Opera': return 2;
    case 'Netscape': return 3;
    default: return 1;
   }
  } // end function fCkBrs 
  
  function fRgbToHex(sRgb, bNoSharp, bDebug)
  { // shawl.qiu script
   if(!sRgb||sRgb=="") throw new Error("RGB颜色代码不正确!");
   var Debug = bDebug;
   
   var sSharp = "";
   if(!bNoSharp) sSharp = "#";
   if(/rgb\(/i.test(sRgb))
   {
    sRgb = sRgb.replace(/^[\s\S]*?rgb\((.*?)\)[\s\S]*/gi, "$1").replace(/\s+/g, "");
   }
   var RgbAr = sRgb.split(",");
   var sReturn =
    [
    sSharp
    ,(fPadStr((RgbAr[0]-0).toString(16)).toUpperCase())
    ,(fPadStr((RgbAr[1]-0).toString(16)).toUpperCase())
    ,(fPadStr((RgbAr[2]-0).toString(16)).toUpperCase())
    ].join("");
   
   if(Debug)alert(sReturn);
   
   return sReturn;
   
   function fPadStr(sSrc, sPad, nLen)
   {// shawl.qiu script
    if(!sSrc)return false;
    if(!sPad)sPad='0';
    if(!nLen)nLen=2;
    sSrc+='';
    if(sSrc.length>=nLen)return sSrc;
    sPad=new Array(nLen+1).join(sPad);
    var re=new RegExp('.*(.{'+(nLen)+'})$');
    return (sPad+sSrc).replace(re,'$1');
   } // end function fPadStr
   
  } // end function fRgbToHex
  
 } // end function fGetStyle(Ele, sStyle)
/*]]*/
</script>
</body>
</html>

 
2007 年 10 月 10 日, 14 时 49 分 56 秒 796 毫秒
<div id="d1"></div>

<script type="text/javascript">
/*<![CDATA[*/
 var d1 = document.getElementById("d1");
 
 document.write("fGetStyle(d1, 'color'): ", fGetStyle(d1, 'color')"<br/>");
 document.write("fGetStyle(d1, 'backgroundColor'): ", fGetStyle(d1, 'backgroundColor')"<br/>");
 
 
 function fGetStyle(Ele, sStyle)
 { // shawl.qiu code, return string; Func: fCkBrs, fRgbToHex
  var Brs = fCkBrs()
  if(Brs===3)
  {
   var sReturn = getComputedStyle(Ele, null)[sStyle];
   if(/\brgb\b/i.test(sReturn))
   {
    return fRgbToHex(sReturn);
   }
   return sReturn;
  }
  else return Ele.currentStyle[sStyle];
 } // end function fGetStyle(Ele, sStyle)
  
 function fCkBrs()
 {// shawl.qiu script
  switch (navigator.appName)
  {
   case 'Opera': return 2;
   case 'Netscape': return 3;
   default: return 1;
  }
 } // end function fCkBrs 
 
 function fRgbToHex(sRgb, bNoSharp, bDebug)
 { // shawl.qiu code, return string; Func: fPadStr
  if(!sRgb||sRgb=="") throw new Error("RGB颜色代码不正确!");
  var Debug = bDebug;
  
  var sSharp = "";
  if(!bNoSharp) sSharp = "#";
  if(/rgb\(/i.test(sRgb))
  {
   sRgb = sRgb.replace(/^[\s\S]*?rgb\((.*?)\)[\s\S]*/gi, "$1").replace(/\s+/g, "");
  }
  var RgbAr = sRgb.split(",");
  var sReturn =
   [
   sSharp
   ,(fPadStr((RgbAr[0]-0).toString(16)).toUpperCase())
   ,(fPadStr((RgbAr[1]-0).toString(16)).toUpperCase())
   ,(fPadStr((RgbAr[2]-0).toString(16)).toUpperCase())
   ].join("");
  
  if(Debug)alert(sReturn);
  
  return sReturn;
 } // end function fRgbToHex(sRgb, bNoSharp, bDebug)
  
 function fPadStr(sSrc, sPad, nLen)
 {// shawl.qiu script, return string
  if(!sSrc)return false;
  if(!sPad)sPad='0';
  if(!nLen)nLen=2;
  sSrc+='';
  if(sSrc.length>=nLen)return sSrc;
  sPad=new Array(nLen+1).join(sPad);
  var re=new RegExp('.*(.{'+(nLen)+'})$');
  return (sPad+sSrc).replace(re,'$1');
 } // end function fPadStr
/*]]*/
</script>

文章相关信息:
主题: js 返回当前HTML Element 的样式属性值 函数 fGetStyle
发表者: shawl.qiu
电子邮件: shawl.qiu@gmail.com
QQ: 908202921
MSN: btbtd@msn.com
Homepage: http://www.btbtd.org/
Blog: http://blog.csdn.net/btbtd/
发表日期: 2007-8-23 1:42:52
更新日期: 2008-5-9 15:11:38
来源引用: shawl.qiu CSharp DotNet 个人资料管理系统
引用本页: http://gi.2288.org/mod/code/display/Default.aspx?aid=540
关闭
Google
搜索WWW
搜索www.btbtd.org
搜索blog.csdn.net
Powered by shawl.qiu © 2008-2010 the shawl.qiu Javascript Kits
Copyright © 2008-2010 by shawl.qiu