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

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

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].onmouseo教程ver = function(){
            addclass(this, crosstagnameclass);
        }
        tagnames[m].onmouseout = function(){
            this.classname = this.oldclassname;
        }
    }
}

完整实例

<style>
table#itab{border:1px solid #999; width:80%; margin:0 auto; border-collaps教程e:collapse}
table#itab td{border:1px solid #ccc; text-align:center;}
table#itab caption{font-size:1em; font-weight:normal; color:#a40000; margin-top:20px;}
.gray{background:#eee;cursor:pointer}
.red{background:#a40000; color:#fff; cursor:pointer}
.highol{background:#ccf;cursor:pointer}
ol#olid{width:80%; margin:1em auto; padding:0}
ol#olid li{list-style:inside decimal;text-indent:5px;line-height:2.2em;}
ol#olid em{color:#a40000;}
</style>

<script>
//@mr.think---公用加载类
function addloadevent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    } else {
        window.onload = function() {
            oldonload();
            func();
        }
    }
}
//@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;
  }
 }
}
function highlightitab(){
 highlight("itab","tr","gray","red");
 highlight("olid","li","gray","highol");
}
addloadevent(highlightitab);
</script>

<div id="demo">
<table id="itab">
<caption>我是高亮奇数行及鼠标划过高亮显示效果,uh oh!</caption>
<tr><td>1</td><td>a</td><td>c</td><td>d</td><td>y</td></tr>
<tr><td>2</td><td>b</td><td>s</td><td>a</td><td>e</td></tr>
<tr><td>3</td><td>h</td><td>i</td><td>f</td><td>j</td></tr>
<tr><td>4</td><td>a</td><td>g</td><td>a</td><td>n</td></tr>
<tr><td>5</td><td>z</td><td>a</td><td>g</td><td>m</td></tr>
<tr><td>6</td><td>c</td><td>d</td><td>l</td><td>h</td></tr>
<tr><td>7</td><td>d</td><td>w</td><td>g</td><td>s</td></tr>
<tr><td>8</td><td>t</td><td>q</td><td>o</td><td>m</td></tr>
</table>
<ol id="olid">
<li>可以通过改变<em>var odd=true;</em>的值来确定是高亮显示奇数行还是偶数行;</li>
<li>dom编程,兼容主流浏览器,可扩展性强;</li>
<li>适应于表格,列表,div等;</li>
<li><em>elemid</em>:事件id,就是你想实现这种效果所在id;</li>
<li><em>tagname</em>:事件tagname值,比如li,tr,p等等;</li>
<li><em>tagnamehighclass</em>:奇或偶数行高亮显示的样式;</li>
<li><em>crosstagnameclass</em>:鼠标划过时高亮显示的样式.</li>
</ol>
</div>

时间: 2024-10-22 22:56:17

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

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

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

奇偶行高亮显示及鼠标划过高亮显示类_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

JS实现的表格行鼠标点击高亮效果代码_javascript技巧

本文实例讲述了JS实现的表格行鼠标点击高亮效果代码.分享给大家供大家参考,具体如下: 偶尔在看天天基金网净值公告时,从源代码里剥下的一段js代码,感觉比较实用,分享一下(仅IE有效) <script type="text/javascript"> var highlightcolor='#E0F2FE'; var clickcolor='#ffedd2'; function MouseOver(){ var source=event.srcElement; if (sour

js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例_javascript技巧

题目中问题一拆为二: 1.文字在超出长度时,如何实现用省略号代替? 2.超长长度的文字在省略显示后,如何在鼠标悬停时,以悬浮框的形式显示出全部信息? 文字在超出长度时,如何实现用省略号代替? 用CSS实现超长字段用省略号表示的方法:所有浏览器兼容! html代码如下: <div style="width:150px;overflow:hidden; white-space:nowrap; text-overflow:ellipsis"> 用CSS实现超长字段被省略的简单方法

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

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

鼠标划过事件: 今天又写了个鼠标划过显示不同图片的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%;  }

JS实现窗口加载时模拟鼠标移动的方法

  本文实例讲述了JS实现窗口加载时模拟鼠标移动的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 function judge(){ alert("mousemove"); document.onmousemove = null;//撤销鼠标移动模拟 } function simulateMouseMove(){//模拟鼠标移动 document.onmousemove = judge; } window.onload=simulateMouseMo

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