mark.js文章关键字高亮插件使用

JavaScript09

mark.js文章关键字高亮插件使用,第1张

<html>

<input type="hidden" name="keyword" value="<?php echo $result->highlight_keywords ?>">

<div class="sec_main">

     <?phh echo $result->content?>

</div><!-- section main end -->

<js>

<script src="/static/js/jquery.mark.min.js"></script>

<script>

   $(function() {

       var keyword = $("input[name='keyword']").val()

       var options = {

           "className": "match"

       }

       $(".sec_main").mark(keyword,options)

   })

</script>

高亮文字的样式设置

<css>

.match{

     color:red

}

var oldKey=""

function showKey(allStr,keyStr){

if(oldKey!=""){

allStr.replace("<font color='#ff0000'>"+oldKey+"</font>",oldKey)

}

if(keyStr!=""){

allStr.replace(keyStr,"<font color='#ff0000'>"+keyStr+"</font>")

}

oldKey = keyStr

}

<script type="text/javascript">

/**

 *由于你的代码很多,而我只更改了JavaScript部分,所以我只发JS部分了。

 *

 *另外,我改动的地方都做了注释,具体详见:

 */

 var obj = document.getElementById("frameContent")//获取内容层

var pages = document.getElementById("pages")//获取翻页层

window.onload = function()//重写窗体加载的事件

{

    var allpages = Math.ceil(parseInt(obj.scrollHeight)/parseInt(obj. offsetHeight))//获取页面数量

    pages.innerHTML = "<b>共"+allpages+"页</b> "//输出页面数量

    for (var i=1i<=allpagesi++){

        //这里对初始分页做了判断,如果是第一次循环,则将第一页高亮,因为是JS分页程序也决定了网页开启后为第一页:

     pages.innerHTML += "<a href=\"javascript:showPage('"+i+"')\" style=\"color:" + (i==1?"#F00":"#06C") + "\">第"+i+"页</a> "

//循环输出第几页

    }

}

function showPage(pageINdex)

{

    obj.scrollTop=(pageINdex-1)*parseInt(obj.offsetHeight)//根据高度,输出指定的页

    //下面我做了点击事件的判断,点击了哪个,哪个高亮,其余的变回原色:

var as = pages.getElementsByTagName('a')

for(var i=0 i<as.length i++){

 as[i].style.color = i+1 == pageINdex ? '#F00' : '#06C'

}

}

</script>