亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

JavaScript實現關鍵字高亮功能

2024-05-06 16:10:35
字體:
來源:轉載
供稿:網友
關鍵詞高亮技術各大CMS基本上都有,但基本都是后端代碼來實現的,今天我們探討下如何使用javascript來實現代碼高亮技術。
 
 

高亮功能主要是指對頁面中指定區域的指定文字進行高亮顯示,也就是背景著色。一般在搜索結果頁面會經常用到這個功能。

下面就為大家提供一種解決方案,用javascript實現。

首先在<head>中引入下面javascript方法:

 

復制代碼代碼如下:

<script type="text/javascript">
//<![CDATA[ 
    //--------begin function fHl(o, flag, rndColor, url)------------------// 
    function fHl(o, flag, rndColor, url){ 
        /// <summary>
        ///     使用 javascript HTML DOM 高亮顯示頁面特定字詞.
        ///     實例:
        ///         fHl(document.body, '紙傘|她'); 
        ///         這里的body是指高亮body里面的內容。
        ///         fHl(document.body, '希望|愁怨', false, '/'); 
        ///         fHl(document.getElementById('at_main'), '獨自|飄過|悠長', true, 'search.asp?keyword='); 
        ///         這里的'at_main'是指高亮id='at_main'的div里面的內容。search.asp?keyword=指給關鍵字加的鏈接地址,
        ///         我這里加了一個參數,在后面要用到??梢允侨我獾牡刂贰?nbsp;       
        /// </summary>
        /// <param name="o" type="Object">
        ///     對象, 要進行高亮顯示的對象. 
        /// </param>
        /// <param name="flag" type="String">
        ///     字符串, 要進行高亮的詞或多個詞, 使用 豎杠(|) 分隔多個詞 . 
        /// </param>
        /// <param name="rndColor" type="Boolean">
        ///     布爾值, 是否隨機顯示文字背景色與文字顏色, true 表示隨機顯示. 
        /// </param>
        /// <param name="url" type="String">
        ///     URI, 是否對高亮的詞添加鏈接.
        /// </param>                        
        /// <return></return>
        var bgCor=fgCor=''; 
        if(rndColor){ 
            bgCor=fRndCor(10, 20); 
            fgCor=fRndCor(230, 255); 
        } else { 
            bgCor='#F0F'; 
            fgCor='black'; 
        } 
        var re=new RegExp(flag, 'i'); 
        for(var i=0; i<o.childNodes.length; i++){     
            var o_=o.childNodes[i]; 
            var o_p=o_.parentNode; 
            if(o_.nodeType==1) { 
                fHl(o_, flag, rndColor, url);                 
             } else if (o_.nodeType==3) { 
                if(!(o_p.nodeName=='A')){ 
                    if(o_.data.search(re)==-1)continue; 
                    var temp=fEleA(o_.data, flag); 
                    o_p.replaceChild(temp, o_); 
                } 
            }
        } 
        //------------------------------------------------ 
        function fEleA(text, flag){ 
            var style=' style="background-color:'+bgCor+';color:'+fgCor+';" ' 
            var o=document.createElement('span'); 
            var str=''; 
            var re=new RegExp('('+flag+')', 'gi'); 
            if(url){ 
                str=text.replace(re, '<a href="'+url+ 
                '$1"'+style+'>$1</a>'); //這里是給關鍵字加鏈接,紅色的$1是指上面鏈接地址后的具體參數。
            } else { 
                str=text.replace(re, '<span '+style+'>$1</span>'); //不加鏈接時顯示
            } 
            o.innerHTML=str; 
            return o; 
        } 
        //------------------------------------------------ 
        function fRndCor(under, over){ 
            if(arguments.length==1){ 
                var over=under; 
                    under=0; 
            }else if(arguments.length==0){ 
                var under=0; 
                var over=255; 
            } 
            var r=fRandomBy(under, over).toString(16); 
                r=padNum(r, r, 2); 
            var g=fRandomBy(under, over).toString(16); 
                g=padNum(g, g, 2); 
            var b=fRandomBy(under, over).toString(16); 
                b=padNum(b, b, 2); 
                //defaultStatus=r+' '+g+' '+b 
            return '#'+r+g+b; 
            function fRandomBy(under, over){ 
                switch(arguments.length){ 
                    case 1: return parseInt(Math.random()*under+1); 
                    case 2: return parseInt(Math.random()*(over-under+1) + under); 
                    default: return 0; 
                } 
            }
            function padNum(str, num, len){ 
                var temp='' 
                for(var i=0; i<len;temp+=num, i++); 
                return temp=(temp+=str).substr(temp.length-len); 
            } 
        } 
    }
    //--------end function fHl(o, flag, rndColor, url)--------------------// 
//]]> 
</script>

 

上面的fHl方法就是用來實現高亮的,參數的含義在注釋中有寫。

然后在頁面最后調用fHl方法,對指定區域指定文字高亮著色,例如:

 

復制代碼代碼如下:

<script type="text/javascript">
fHl(document.body, '高亮');   //對頁面body的區域中的“高亮”文字背景著色
</script>

 

怎么樣,很簡單吧~


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
麻豆国产va免费精品高清在线| 国产精品视频公开费视频| 成人欧美在线观看| 97成人精品区在线播放| 在线播放亚洲激情| 成人两性免费视频| 国产精品美女视频网站| 精品激情国产视频| 九九九久久久久久| 庆余年2免费日韩剧观看大牛| 亚洲第一精品福利| 免费91麻豆精品国产自产在线观看| 欧美精品久久久久久久久| 日韩av在线天堂网| 欧美性极品少妇精品网站| 97在线精品国自产拍中文| 亚洲经典中文字幕| 国产精品扒开腿做爽爽爽的视频| 国产精品视频在线播放| 91av视频在线免费观看| 欧美性高跟鞋xxxxhd| 国产精品免费视频xxxx| 亚洲第一区在线观看| 8090成年在线看片午夜| 中文字幕欧美精品日韩中文字幕| 川上优av一区二区线观看| 亚洲国产精品久久久久秋霞不卡| 亚洲精品福利资源站| 欧美又大又硬又粗bbbbb| 日韩理论片久久| 九九热精品在线| 欧美精品www在线观看| 国产精品激情av在线播放| 操91在线视频| 精品国产乱码久久久久久虫虫漫画| 欧美另类极品videosbest最新版本| 亚洲国产天堂久久国产91| 伊人久久久久久久久久久| 97超级碰碰碰久久久| 国产91ⅴ在线精品免费观看| 国产精品一区二区三区久久久| www.亚洲免费视频| 亚洲综合色激情五月| 亚洲人午夜精品| 色综合老司机第九色激情| 日韩男女性生活视频| 精品国产1区2区| 国内外成人免费激情在线视频网站| 日韩亚洲精品视频| 97视频com| 亚洲欧美自拍一区| 亚洲女人初尝黑人巨大| 98精品国产高清在线xxxx天堂| 亚洲久久久久久久久久| 国产精品91在线观看| 亚洲精品一区二区在线| 2020欧美日韩在线视频| 国产一区二区黑人欧美xxxx| 欧美一性一乱一交一视频| 欧美大片大片在线播放| 97视频在线观看亚洲| 亚洲精品美女久久| 精品中文字幕视频| 欧美黑人极品猛少妇色xxxxx| 92看片淫黄大片欧美看国产片| 欧美日本亚洲视频| 久久精品成人欧美大片古装| 欧美日韩加勒比精品一区| 亚洲老司机av| 欧洲美女免费图片一区| 亚洲免费av片| 免费不卡欧美自拍视频| 欧美激情精品久久久久久| 久久久久久久久久久人体| 久久国产精品网站| 久久精品在线播放| 91精品在线观| 狠狠躁夜夜躁人人爽超碰91| 国产精品国语对白| 中文字幕亚洲欧美日韩在线不卡| 欧美大学生性色视频| 一区二区三区回区在观看免费视频| 中文字幕日韩欧美在线视频| 社区色欧美激情 | 久久久久这里只有精品| 美女福利视频一区| 精品成人国产在线观看男人呻吟| 久久国产精品久久久久久久久久| 精品亚洲国产成av人片传媒| 国产精品久久久久久久av电影| 国产在线一区二区三区| 亚洲精品suv精品一区二区| 久久中文字幕在线视频| 国产精品入口尤物| 97精品一区二区视频在线观看| 亚洲性猛交xxxxwww| 日韩人在线观看| 亚洲小视频在线观看| 91精品久久久久久久久| 亚洲一区二区三区在线视频| 久久久久久久久久久国产| 国产成人+综合亚洲+天堂| 亚洲成av人乱码色午夜| 正在播放欧美视频| 亚洲精品小视频在线观看| 亚洲天堂第一页| 最近中文字幕日韩精品| 在线观看久久久久久| 亚洲国产日韩欧美在线99| 成人网在线视频| 色综合久久中文字幕综合网小说| 97久久精品人搡人人玩| 久久91亚洲人成电影网站| 日韩在线观看成人| 亚洲欧美中文日韩在线v日本| 国产午夜精品一区理论片飘花| 国产精品女主播视频| 日韩av在线影院| 久久久在线观看| 最近2019中文字幕第三页视频| 91精品国产99| 97欧美精品一区二区三区| 国产精品r级在线| 成人激情视频在线观看| 欧美日韩成人在线观看| 国产精品扒开腿做爽爽爽的视频| 亚洲一区二区久久久久久| 国产一区二区在线免费| 久久久亚洲天堂| 国语自产精品视频在免费| 欧美黄色片视频| 亚洲国产91精品在线观看| 久久久久久久国产精品视频| 欧美黄色www| 国产精品视频一区二区三区四| 一区二区三区天堂av| 午夜精品久久久久久99热软件| 中文字幕亚洲字幕| 久久精品视频va| 亚洲视频欧美视频| 777精品视频| 国产在线观看不卡| 国产精品电影一区| 亚洲色图欧美制服丝袜另类第一页| 亚洲色图日韩av| 久久深夜福利免费观看| 欧洲美女7788成人免费视频| 亚洲一区二区久久| 一区二区av在线| 欧美成人精品xxx| 亚洲精品永久免费| 国产精品高潮呻吟久久av野狼| 国产日韩欧美日韩大片| 91成人免费观看网站| 亚洲欧美另类在线观看| 亚洲性视频网址| 欧美亚洲国产日本| 国产美女主播一区| 欧美性猛交xxxx乱大交| 日韩电影视频免费| 性欧美xxxx| 亚洲女同性videos| 欧美裸体视频网站| 欧美日韩另类在线|