本文实例分析了JS实现的样式切换功能tableCSS。分享给大家供大家参考,具体如下:
把前阵子写的JQ插件函数(alterBgColor )改写成不基于JQ的代码,还添加了一个click样式效果
代码风格还是按照JQ插件风格来写,使用了闭包来循环设置TR元素的样式
function TableCss(options){ //如果没参数,就退出 if(arguments.length < 1 || !document.getElementById(options.tableName) ) { return ;} //参数及默认参数 var options = { tableName : options.tableName, evenClass : options.evenClass || "tr_even", oddClass : options.oddClass || "tr_odd", clickClass : options.clickClass || "tr_click", hoverClass: options.hoverClass || "tr_hover" } //根据ID找到表格元素 var tableName = document.getElementById(options.tableName); var tr = tableName.getElementsByTagName("tr"); //对TR元素循环设置 for(var i=0, len=tr.length; i<len; i++){ //用了闭包 (function(k){ //设置奇偶行样式 tr[k].className = (k%2==0)? options.oddClass : options.evenClass; //点击样式 tr[k].onclick = function(){ if (tr[k].className == options.clickClass){ tr[k].className = (k%2==0)? options.oddClass : options.evenClass; } else { tr[k].className = options.clickClass; } } //鼠标HOVER样式,如果已经是点击样式,则不变化 tr[k].onmouseover = function(){ if(tr[k].className == options.clickClass ){ return false;} else { tr[k].className = options.hoverClass;} } tr[k].onmouseout = function(){ if(tr[k].className == options.clickClass){ return false;} else { tr[k].className = (k%2==0)? options.oddClass : options.evenClass; } } })(i) } } //调用 TableCss({tableName:"tb1"});
效果很简单,代码也很简单.
只是这句tr[k].className = (k%2==0)? options.oddClass : options.evenClass;写了三遍,本来是写在一个function里的,但不知道在闭包里那么写会不会影响性能(任务管理器里也没看到有CPU使用率暴涨的情况),最后还是决定这么写,呵呵.
测试代码:
<style> <!-- #tb1, #tb1 td{ border:1px solid #000;border-collapse:collapse} .tr_even { background:#CCC;} .tr_odd { background:#9FF;} .tr_hover { background:#FF6;} .tr_click { background:#00F;} --> </style> <table id="tb1" cellpadding="1" cellspacing="1"> <tr> <td>123</td> <td>456</td> <td>123</td> <td>456</td> <td>123</td> <td>456</td> </tr> <tr> <td>123</td> <td>456</td> <td>123</td> <td>456</td> <td>123</td> <td>456</td> </tr> <tr> <td>123</td> <td>456</td> <td>123</td> <td>456</td> <td>123</td> <td>456</td> </tr> <tr> <td>123</td> <td>456</td> <td>123</td> <td>456</td> <td>123</td> <td>456</td> </tr> </table>
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript切换特效与技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
本文向大家介绍js实现多图左右切换功能,包括了js实现多图左右切换功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js多图左右切换功能,供大家参考,具体内容如下 效果图: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍js实现tab选项卡切换功能,包括了js实现tab选项卡切换功能的使用技巧和注意事项,需要的朋友参考一下 话不多说,请看代码: 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!
本文向大家介绍Android实现夜间模式切换功能实现代码,包括了Android实现夜间模式切换功能实现代码的使用技巧和注意事项,需要的朋友参考一下 现在很多App都有夜间模式,特别是阅读类的App,夜间模式现在已经是阅读类App的标配了,事实上,日间模式与夜间模式就是给App定义并应用两套不同颜色的主题,用户可以自动或者手动的开启,今天用Android自带的support包来实现夜间模式。由于Su
本文向大家介绍vue实现菜单切换功能,包括了vue实现菜单切换功能的使用技巧和注意事项,需要的朋友参考一下 vue实现菜单切换,点击菜单导航切换不同的内容以及为当前点击的选项添加样式,或者组件。 method里: css: html代码: js代码: methods: css代码: 总结 以上所述是小编给大家介绍的vue实现菜单切换功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及
效果如图: 引用flighty.nsi的内容: Name "www.flighty.cn" OutFile "flighty.exe" !include MUI.nsh !ifndef LR_LOADTRANSPARENT !define LR_LOADTRANSPARENT 0x0020 !endif !
本文向大家介绍基于JS实现简单的样式切换效果代码,包括了基于JS实现简单的样式切换效果代码的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了基于JS实现简单的样式切换效果。分享给大家供大家参考。具体如下: 这是一款基于JS实现简单的样式切换代码,自由切换CSS样式,很多大网站现在正在用,我觉得这是个挺实用的不错的功能,希望大家喜欢哦。 运行效果截图如下: 在线演示地址如下: http://d