 
        将一个js代码修改了一下,再整合到search.htm模板里,成功地解决了这一问题。 
    另外还增加了一个循环判断效果,即使搜索的结果标题出现灰白相间的背景颜色对比,而鼠标移动到搜索结果标题上又有高亮背景出现。
    只需要修改search.htm这个模板文件(template/default/search.htm): 
    一、在最上部这段代码: 
<!-- 
<?php 
print <<<EOT 
--> 
在这段代码之下,加上以下这段样式和JS代码: 
<style type="text/css"> 
tbody tr.on {background:#dbd9d9;} 
tbody tr.on td{
color:#ff0000;
}
tbody tr.on td a{
color:#ff0000;
}
</style>
<script type="text/java script">
function addLoadEvent(func) { 
  var oldonload = window.onload; 
  if (typeof window.onload != 'function') { 
    window.onload = func; 
  } else { 
    window.onload = function() { 
      oldonload(); 
      func(); 
    } 
  } 
}
function getElementsByClassName(className, tag, elm){ 
    var testClass = new RegExp("(^|s)" + className + "(s|$)"); 
    var tag = tag || "*"; 
    var elm = elm || document; 
    var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag); 
    var returnElements = []; 
    var current; 
    var length = elements.length; 
    for(var i=0; i<length; i++){ 
        current = elements[i]; 
        if(testClass.test(current.className)){ 
            returnElements.push(current); 
        } 
    } 
    return returnElements; 
}
function addClassName(elm, className){ 
    var currentClass = elm.className; 
    if(!new RegExp(("(^|s)" + className + "(s|$)"), "i").test(currentClass)){ 
        elm.className = currentClass + ((currentClass.length > 0)? " " : "") + className; 
    } 
    return elm.className; 
}
function removeClassName(elm, className){ 
    var classToRemove = new RegExp(("(^|s)" + className + "(s|$)"), "i"); 
    elm.className = elm.className.replace(classToRemove, "").replace(/^s+|s+$/g, ""); 
    return elm.className; 
}
function makeTheTableHeadsHighlight() { 
    var table = document.getElementById('rockartists'); 
    var tbody = table.getElementsByTagName('tbody'); 
    var tbodytds = table.getElementsByTagName('tr'); 
    for (var i=0; i<tbodytds.length; i++) { 
        tbodytds[i].oldClassName = tbodytds[i].className; 
        tbodytds[i].onmouseover = function() { 
            addClassName(this,'on'); 
        } 
    
        tbodytds[i].onmouseout = function() { 
            removeClassName(this,'on'); 
        } 
    } 
} 
addLoadEvent(makeTheTableHeadsHighlight); 
</script>
二、再找下面的这段代码: 
            <table width="100%" border="0" cellspacing="1" cellpadding="3">
              <!--
EOT;
//文章查询结果
foreach($listdb AS $key=>$rs){
print <<<EOT
-->
              <tr> 
                <td width="5%">$rs[aid]</td>
                <td width="51%">·<a href="bencandy.php?fid=$rs[fid]&id=$rs[aid]" target="_blank" title='$rs[full_title]'>$rs[title]</a></td>
                <td width="17%">[<a href="list.php?fid=$rs[fid]" target="_blank">{$rs[fname]}</a>]</td>
                <td width="10%">{$rs[username]}</td>
                <td width="17%">({$rs[posttime]})</td>
              </tr>
首先给这个表格加一个id,在table里加上id="rockartists" ;
    分别在<tr>和</tr>上面和下面再加上<tbody>和</tbody>,因为上面的css和js都已经定义了tbody;
    加上循环判断的代码(具体请下面代码对比一下便知);
    给tbody加上背景的变量定义;
    以下即为已经修改好的代码部分:
            <table width="100%" border="0" cellspacing="1" cellpadding="3"  id="rockartists">
              <!--
EOT;
//文章查询结果
$pp=0;
foreach($listdb AS $key=>$rs){
$pp++;
$searchbg="#eaeaec";
if($pp%2==0){
$searchbg="";
}
print <<<EOT
-->
<tbody style="background:$searchbg">
              <tr> 
                <td width="5%">$rs[aid]</td>
                <td width="51%">·<a href="bencandy.php?fid=$rs[fid]&id=$rs[aid]" target="_blank" title='$rs[full_title]'>$rs[title]</a></td>
                <td width="17%">[<a href="list.php?fid=$rs[fid]" target="_blank">{$rs[fname]}</a>]</td>
                <td width="10%">{$rs[username]}</td>
                <td width="17%">({$rs[posttime]})</td>
              </tr>
</tbody>
这一步修改完毕就完成了,看看效果吧。
三、效果演示: 

 
 
网友评论