当前表格中鼠标悬停时改变显示风格函数
因为工作需要,需要在表格上增加一个鼠标悬停改变风格效果。因此写如下代码,此代码可支持任何表格的悬停风格,希望对其他人有用。
此函数为附加的形式,对于原有的表格无需进行修改。此函数使用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);
}
);
}
);
}
//以上代码没有测试,如果有错误我测试后会修改!

浙公网安备 33010602011771号