一切皆有可能

相信自己

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

js高亮度显示搜索关键字

测试数据这是针对body创建文档域的,当然也可以针对Div创建了

和尚洗漂柔badegg和尚洗漂柔badegg
badegg
badegg
和尚洗漂柔bad坏蛋egg和尚洗漂柔badegg
和尚洗漂柔bad坏egg蛋 和尚洗漂柔badegg
和尚洗漂柔bad egg 坏蛋 和尚洗漂柔badegg
----------------------------------------------------------

Code:

<script language="javascript" type="text/javascript">
//测试代码 
function UrlTest(){
    
var myht=new HighlightText();
    myht.Execute(
"badegg"); 
}

//////////////////******高亮度显示关键字******////////////////
 /***********************************************************
 UrlBuilder Class created by JavaScript
 Author: lizhi[at]hit.edu.cn
 Version: 1.0
 Created: 2006.02.21 22:05
 Updated: N/A
**********************************************************
*/
function HighlightText(range)
{
    
if ( range )
    {
         
this.m_Range = range;
    }
    
else
    {
         
this.m_Range = document.body.createTextRange();
    }     
    
this.m_Keyword = '';
    
    
this.toString = function()
    {
         
return '[class HightlightText]';
    };       
}

HighlightText.prototype.Execute 
= function(keyword)
{
     
if ( keyword )
     {
          
this.m_Keyword = keyword;
     }
     
if ( this.m_Range && this.m_Keyword )
     {
         
var separater = ' ';
         
if ( this.m_Keyword.indexOf(' '== -1 ) 
         {
              separater 
= '+';
         }   
         
var keywords = this.m_Keyword.split(separater); 
         
var bookmark = this.m_Range.getBookmark();             
         
for ( var i=0 ; i < keywords.length ; ++i )
         {
             
var keyword = keywords[i];
             
if ( keyword && keyword.length > 1 )
             { 
                 
while(this.m_Range.findText(keywords[i]))
                 {
                      
this.m_Range.execCommand('ForeColor''false''red');
                      
this.m_Range.execCommand('BackColor''false''highlight'); 
                      
this.m_Range.collapse(false);
                 }
                 
this.m_Range.moveToBookmark(bookmark);
             }
         }
     }
}
//////////////////******高亮度显示关键字******////////////////
</script>
posted on 2008-11-17 22:05  李泉生  阅读(234)  评论(0)    收藏  举报