国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

jquery實現(xiàn)將獲取的顏色值轉(zhuǎn)換為十六進制形式的方法

2024-05-06 16:12:34
字體:
供稿:網(wǎng)友
這篇文章主要介紹了jquery實現(xiàn)將獲取的顏色值轉(zhuǎn)換為十六進制形式的方法,包含了完整的實例與關(guān)鍵代碼的注釋說明,并附帶了所需知識點的參考文章地址,具有一定的參考借鑒價值,需要的朋友可以參考下
 
 

本文實例講述了jquery實現(xiàn)將獲取的顏色值轉(zhuǎn)換為十六進制形式的方法。分享給大家供大家參考。具體分析如下:

大家或許已經(jīng)注意到了,在谷歌、火狐和IE8以上瀏覽器中,獲取的顏色值是RGB形式,例如rgb(255,255,0),感覺非常不適應(yīng),或者在實際編碼中不方便使用,這個時候就需要進行轉(zhuǎn)換,下面就提供一段相關(guān)轉(zhuǎn)換代碼。

具體代碼如下:

復(fù)制代碼代碼如下:
<!DOCTYPE html> 
<html> 
<head> 
<meta charset=" utf-8"> 
<meta name="author" content="http://m.survivalescaperooms.com/" /> 
<title>顏色格式轉(zhuǎn)換-武林網(wǎng)</title>  
<style type="text/css"> 
#thediv 

  width:200px; 
  height:100px; 
  background-color:#CCC; 
  line-height:100px; 
  text-align:center; 
  color:#60F; 

</style> 
<script type="text/javascript" src="jQuery/jquery-1.8.3.js"></script> 
<script type="text/javascript"> 
$.fn.getHexBackgroundColor=function(id,property) 
{  
  var rgb=$(id).css(property);  
  if($.browser.msie&&$.browser.version>8||$.browser.mozilla||$.browser.webkit) 
  {  
    rgb=rgb.match(/^rgb/((/d+),/s*(/d+),/s*(/d+)/)$/);  
    function hex(x)  
    {  
      return ("0"+parseInt(x).toString(16)).slice(-2);  
    }  
    rgb="#"+hex(rgb[1])+hex(rgb[2])+hex(rgb[3]);  
  }  
  return rgb;  
}  
$(document).ready(function(){  
  $("#bt").click(function(){ 
    $("#thediv").text($.fn.getHexBackgroundColor("#thediv","color"))  
  }) 
}) 
</script>  
</head> 
<body> 
<div id="thediv">武林網(wǎng)</div> 
<input type="button" value="點擊查看效果" id="bt" /> 
</body> 
</html>

 

注意:運行編輯器之后,再按F5刷新網(wǎng)頁即可查看演示。

以上代碼實現(xiàn)了我們的要求,可以將RGB格式的顏色值轉(zhuǎn)換為十六進制形式,下面就簡單介紹一下實現(xiàn)過程:

一.實現(xiàn)原理:

當點擊按鈕的會觸發(fā)click事件,進而執(zhí)行click事件處理函數(shù),此處理函數(shù)能夠?qū)⑥D(zhuǎn)換后的顏色值寫入div中去,其中的核心函數(shù)就是getHexBackgroundColor(),此函數(shù)首先會判斷瀏覽器是否是IE9之下,如果是則直接返回顏色值,不進行轉(zhuǎn)換,因為在IE9以下瀏覽器獲取的顏色值就是16進制的,如果是IE8以上瀏覽器或者谷歌火狐,則需要進行轉(zhuǎn)換,關(guān)于轉(zhuǎn)換細節(jié)這里就不多介紹了,可以參考你代碼注釋。

二.代碼注釋:

1.$.fn.getHexBackgroundColor=function(id,property){},聲明一個函數(shù),此函數(shù)可以可以進行顏色值轉(zhuǎn)換,此函數(shù)具有兩個參數(shù),第一個參數(shù)是元素的id屬性值,第二個是屬性。

2.var rgb=$(id).css(property),獲取顏色值,這個時候rgb也許是16進制也許是RGB格式的。

3.if($.browser.msie&&$.browser.version>8||$.browser.mozilla||$.browser.webkit),判斷瀏覽器是否是IE8以上或者是火狐或者谷歌瀏覽器。

4.rgb=rgb.match(/^rgb/((/d+),/s*(/d+),/s*(/d+)/)$/),這個要對正則表達式有所了解,通過match()函數(shù)可以將顏色值字符串生成一個數(shù)組,這個數(shù)組中有4個元素,以rgb(102, 0, 255)作為例子,第一個元素是整個顏色值字符串rgb(102, 0, 255),第二個數(shù)組元素是102,第三個是0,第四個是255。

5.function hex(x){},聲明一個函數(shù),此函數(shù)可以用就是進行顏色值轉(zhuǎn)換,具有一個參數(shù),傳遞的是rgb數(shù)組的某一項。

6.return ("0"+parseInt(x).toString(16)).slice(-2),可以將傳入數(shù)值轉(zhuǎn)換為16進制,注意前面是添加了一個0,最好使用slice函數(shù)截取最后兩個字符,并返回截取的這兩個字符。

7.rgb="#"+hex(rgb[1])+hex(rgb[2])+hex(rgb[3]),將值組合起來。

8.return rgb,返回rgb這個值。

9.$(document).ready(function(){}),當文檔結(jié)構(gòu)完全加載完畢再去執(zhí)行函數(shù)中的代碼。

10.$("#bt").click(function(){}),為按鈕注冊click事件處理桉樹。

11.$("#thediv").text($.fn.getHexBackgroundColor("#thediv","color")) ,將轉(zhuǎn)換后的顏色值寫入div。

希望本文所述對大家的jQuery程序設(shè)計有所幫助。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 枣阳市| 张家港市| 甘肃省| 密云县| 隆尧县| 潢川县| 兰西县| 伊春市| 抚顺市| 扬中市| 柘荣县| 南通市| 汨罗市| 陇南市| 邮箱| 衡阳县| 安远县| 新丰县| 昌乐县| 垫江县| 原平市| 六盘水市| 临沂市| 常熟市| 虹口区| 孝义市| 平塘县| 绥化市| 怀集县| 普兰店市| 穆棱市| 广昌县| 平和县| 甘德县| 霍城县| 乐清市| 赣榆县| 尼玛县| 垦利县| 垣曲县| 宁化县|