一个很常见的效果,也算是老生常谈了,实现的方法也很多 比如用jQuery我们就可以简单的如此写道:
$("tr:even").addClass("even");
$("tr").hover(
function(){$(this).addClass("over")},
function(){$(this).removeClass("over")}
)
但是为了这么简单的效果引进jQuery库的话有点大炮打蚊子。用JS 实现一下就如下:

Code
var tst=function(id,tag){
return new tst.prototype.init(id,tag);
}
tst.prototype={
itms:[],
init:function(id,tag){
this.ctnr=document.getElementById(id);
this.itms=this.ctnr.getElementsByTagName(tag);
this.len=this.itms.length;
tst.prototype.hdlr.call(this);
},
hdlr:function(){
for(i=0; i<this.len; i++){
if(i%2){
this.itms[i].className+=" even";
}
this.itms[i].onclick=function(){
if(!this.className.match("sel")){
this.className=this.className.replace("over","");
this.className+=" sel";
}else{
this.className=this.className.replace("sel","");
}
}
this.itms[i].onmouseover=function(){
if(!this.className.match("sel")) this.className+=" over";
}
this.itms[i].onmouseout=function(){
if(this.className.match("over")){
this.className=this.className.replace("over","");
}
}
}
}
}
//使用范例:tst(id,tag);
tst("test","li");
tst("tabcon","tr"
当然也可以把类名写进参数里,只需自己动手稍加改装便可。
当然直接用 元素的 :hover 伪类更方便,大多数的浏览器都支持,只是万恶的IE6 不行。所以只能写这么一堆无聊的代码了。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 分享一个我遇到过的“量子力学”级别的BUG。
· Linux系列:如何调试 malloc 的底层源码
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· 对象命名为何需要避免'-er'和'-or'后缀
· JDK 24 发布,新特性解读!
· .NET Core奇技淫巧之WinForm使用Python.NET并打包
· Java24你发任你发,我用Java8
· C# 中比较实用的关键字,基础高频面试题!