全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

JS实现的样式切换功能tableCSS实例

本文实例分析了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  # 样式  # 切换  # tableCSS  # css列表标签list与表格标签table详解  # jQuery+CSS实现的table表格行列转置功能示例  # jquery css 设置table的奇偶行背景色示例  # JavaScript和CSS通过expression实现Table居中显示  # 拖动table标题实现改变td的大小(css+js代码)  # CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)  # css之使table也能overflow:hidden  # 推荐一个好看Table表格的css样式代码详解  # 相关内容  # 鼠标  # 遍历  # 感兴趣  # 数据结构  # 也很  # 用了  # 给大家  # 很简单  # 写了  # 但不  # 更多关于  # 写在  # 这句  # 里也  # 所述  # 程序设计  # 包里  # 来写  # 任务管理器 


相关文章: 北京的网站制作公司有哪些,哪个视频网站最好?  教学网站制作软件,学习*后期制作的网站有哪些?  简历在线制作网站免费,免费下载个人简历的网站是哪些?  如何在服务器上配置二级域名建站?  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  ,制作一个手机app网站要多少钱?  太平洋网站制作公司,网络用语太平洋是什么意思?  建站主机选哪种环境更利于SEO优化?  如何用狗爹虚拟主机快速搭建网站?  如何配置WinSCP新建站点的密钥验证步骤?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  重庆网站制作公司哪家好,重庆中考招生办官方网站?  如何通过西部建站助手安装IIS服务器?  想学网站制作怎么学,建立一个网站要花费多少?  如何制作算命网站,怎么注册算命网站?  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  建站之星如何配置系统实现高效建站?  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  如何在IIS7中新建站点?详细步骤解析  深圳网站制作的公司有哪些,dido官方网站?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  如何快速查询域名建站关键信息?  在线教育网站制作平台,山西立德教育官网?  如何制作网站标识牌,动态网站如何制作(教程)?  如何在建站之星绑定自定义域名?  微信小程序 五星评分(包括半颗星评分)实例代码  建站之星如何防范黑客攻击与数据泄露?  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  专业商城网站制作公司有哪些,pi商城官网是哪个?  如何通过虚拟主机快速完成网站搭建?  如何挑选优质建站一级代理提升网站排名?  黑客入侵网站服务器的常见手法有哪些?  如何通过宝塔面板实现本地网站访问?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  如何用美橙互联一键搭建多站合一网站?  宁波自助建站系统如何快速打造专业企业网站?  如何在阿里云虚拟服务器快速搭建网站?  如何快速搭建安全的FTP站点?  建站之星免费版是否永久可用?  建站之星官网登录失败?如何快速解决?  陕西网站制作公司有哪些,陕西凌云电器有限公司官网?  如何选择香港主机高效搭建外贸独立站?  如何在云主机上快速搭建网站?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  建站主机如何选?性能与价格怎样平衡? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。