当前表格中鼠标悬停时改变显示风格函数

因为工作需要,需要在表格上增加一个鼠标悬停改变风格效果。因此写如下代码,此代码可支持任何表格的悬停风格,希望对其他人有用。

此函数为附加的形式,对于原有的表格无需进行修改。此函数使用JQuery类库,因此需要引用JQuery脚本文件。

编写这个代码,最初的写法是放在了页面里面。但是考虑到其他地方也会有同样的操作,但是如果和表格的耦合性过高,则会影响后续的使用。因此做成了一个针对表格的插件,只要是表格就可以支持这样的效果,而且此类并未与表格封装在一个类里面。因此可以适用于任何语言使用。

调用方法:

BindOverChange(表格对象ID, 需要显示的样式名);

e.g.     BindOverChange("tbApp", "over");

PS:代码为工作需要编写,如果各位大侠认为不好,欢迎拍砖!

 

BindOverChange
//鼠标覆盖变色功能
function BindOverChange(tableId, overClass,overfun) {
$(
"#" + tableId + " tr").each(
function () {
$(
this).hover(
function () {
if (!overfun)
MouseOverTr(
this, overClass);
else if (overfun(this)) {
MouseOverTr(
this, overClass);
}
}
);
}
)
}

var lastTr = '';
function MouseOverTr(obj, className) {
if (lastTr)
$(lastTr).removeClass(className);
$(obj).addClass(className);
lastTr
= obj;
}

  

----------------------------------------------------------------------------------

后来又看了一下hover的文档,发现我的使用方法是不正确的,应该修改为:

BindOverChange修改
function BindOverChange(tableId, overClass) {
$(
"#" + tableId + " tr").each(
function () {
$(
this).hover(
function () {
$(
this).addClass(className);
},
function(){
$(
this).removeClass(className);
}
);
}
);
}

//以上代码没有测试,如果有错误我测试后会修改!

  

posted on 2011-08-24 13:29  小D风格  阅读(359)  评论(1)    收藏  举报

导航