奇或偶数行高亮显示及鼠标划过高亮显示类

奇或偶数行高亮显示及鼠标莫过高亮显示,一个经常用到的效果,也能谷歌到大把的这种效果JS,但好像还没有一个封装成类直接用的.想象自己当初谷歌这个类时,还真没少折腾时间.
花了点时间,封装成了一个类(附带一个添加样式的类),适合初学者,直接调用函数即可,无需改代码.
核心JavaScript代码:



//@Mr.Think---添加样式的类
function addClass(elem,value){
    if(!elem.className){
        elem.className=value;
    }else{
        var newClass=elem.className;
        newClass+=" ";
        newClass+=value;
        elem.className=newClass;
    }
}
//@Mr.Think---奇或偶数行高亮显示及鼠标划过高亮显示
function highLight(elemid,tagName,tagNameHighClass,crossTagNameClass){
    if(!document.getElementsByTagName) return false;
    if(!document.getElementById) return false;
    if(!document.getElementById(elemid)) return false;
    var elemid=document.getElementById(elemid);
    tagNames=elemid.getElementsByTagName(tagName);
    //奇数行高亮显示
    var odd=true;//它的值决定是奇数高亮显示还是偶数高亮显示
    for(var i=0; i<tagNames.length; i++){
        if(odd==true){
            addClass(tagNames[i],tagNameHighClass)
            odd=false;
             }else{
            odd=true;
            }
        }
    //鼠标划过高亮显示
    for(var m=0; m<tagNames.length; m++){
        tagNames[m].oldClassName=tagNames[m].className;
        tagNames[m].onmouseover=function(){
            addClass(this,crossTagNameClass);
            }
            tagNames[m].onmouseout=function(){
            this.className=this.oldClassName;
        }
    }
}




参数说明:


1.elemid:事件ID,就是你想实现这种效果所在ID;
2.tagName:事件tagName值,比如li,tr,p等等;
3.tagNameHighClass:奇或偶数行高亮显示的样式;
4.crossTagNameClass:鼠标划过时高亮显示的样式.

使用说明:


1.如果你只想要其中一个效果,在类中,删除对应的不需要的代码,有注释;
2.调用(加载函数建议用本文中的加载函数,用window.onload非明智之举):

 

window.onload=function highYourElem(){
          highLight("yourId","yourTagName","yourHighClass","yourCrossClass");
}

时间: 2024-08-02 19:10:08

奇或偶数行高亮显示及鼠标划过高亮显示类的相关文章

js 奇或偶数行高亮显示及鼠标划过高亮显示

js 奇或偶数行高亮显示及鼠标划过高亮显示 function addclass(elem, value){     if (!elem.classname) {         elem.classname = value;     }     else {         var newclass = elem.classname;         newclass += " ";         newclass += value;         elem.classname =

奇偶行高亮显示及鼠标划过高亮显示类_javascript技巧

Mr.Think的个人博客 @专注前端技术,热爱PHP,崇尚简单生活. 1 A C D Y 2 B S A E 3 H I F J 4 A G A N 5 Z A G M 6 C D L H 7 D W G S 8 T Q O M 可以通过改变var odd=true;的值来确定是高亮显示奇数行还是偶数行; DOM编程,兼容主流浏览器,可扩展性强; 适应于表格,列表,div等; elemid:事件ID,就是你想实现这种效果所在ID; tagName:事件tagName值,比如li,tr,p等等;

js代码-鼠标划过时整行变色

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <script> function overIt(){ var the_obj = event.srcElement; if(the_obj.tagName.toLowerCase() == "td"){ the_obj=the_obj.parentElemen

一个简单但常用的javascript表格样式_鼠标划过行变色 简洁实现_javascript技巧

第一个太简单就不说了,第二个也很简单,但每个人都有不同的实现方法,下面给一个比较简洁的做法,支持IE6.IE7.FF2,其他浏览器未测试(可以扩展一下用到ASP.NET的GridView里): 鼠标划过表格行变色-简洁实现 商品名称 单价 库存数量 货位 丁学最喜欢的仙四豪华版-菱纱版 139 10000000 A12-253 仙四豪华版-梦璃版 139 10000000 A12-254 仙四普通版-首发 69 10000000 A12-255 [Ctrl+A 全选 注:如需引入外部Js需刷新才

鼠标划过comboBox 改变边框颜色

问题描述 请问鼠标划过comboBox改变边框颜色,我知道重绘可以改变边框颜色但是我要的效果是鼠标划过comboBox改变边框颜色,离开时边框颜色消失 解决方案 解决方案二:你把代码放在mouse_enter和mouse_leave里啊解决方案三:MouseEnter和MouseLeave事件MouseEnter改变样色,MouseLeave颜色还原解决方案四:引用1楼Z65443344的回复: 这个我知道.但还是得重绘控件才行呀你把代码放在mouse_enter和mouse_leave里啊 以

鼠标划过事件: 今天又写了个鼠标划过显示不同图片的JS

<style type="text/css">  <!--  div{  width:300px;  overflow:hidden;  float:left;  }  dl{  width:60px;  float:left;  margin:0px;  }  dd{  margin:0px;  }  img{  width:300px;  height:53px;  }  -->  span{  display:block;  width:5000%;  }

jQuery实现鼠标划过添加和删除class的方法

  本文实例讲述了jQuery实现鼠标划过添加和删除class的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 $('#elm').hover( function(){ $(this).addClass('hover') }, function(){ $(this).removeClass('hover') } ) 希望本文所述对大家的jQuery程序设计有所帮助.

js实现鼠标划过给div加透明度的方法

  本文实例讲述了js实现鼠标划过给div加透明度的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 <script language="javascript"> <!-- Begin if ((navigator.appName.indexOf('Microsoft')+1)) { document.write('<style type="text/css"> #div2 a img{ fi

JS+DIV实现鼠标划过切换层效果的方法

  本文实例讲述了JS+DIV实现鼠标划过切换层效果的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 <html> <head> <title>DIV层切换</title> <script language="Ja