全国服务热线:4008-888-888

行业新闻

QQ小程序内测上线_JS完成的样式切换功用tableCSS实

JS实现的样式切换功能tableCSS实例       这篇文章主要介绍了JS实现的样式切换功能tableCSS,结合实例形式分析了js页面元素遍历与样式动态操作相关技巧,需要的朋友可以参考下

本文实例分析了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 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-colla凡科抠图e:colla凡科抠图e}
.tr_even { background:#CCC;}
.tr_odd { background:#9FF;}
.tr_hover { background:#FF6;}
.tr_click { background:#00F;}
 /style 
 table id="tb1" cellpadding="1" cellspacing="1" 
 td 123 /td 
 td 456 /td 
 td 123 /td 
 td 456 /td 
 td 123 /td 
 td 456 /td 
 /tr 
 td 123 /td 
 td 456 /td 
 td 123 /td 
 td 456 /td 
 td 123 /td 
 td 456 /td 
 /tr 
 td 123 /td 
 td 456 /td 
 td 123 /td 
 td 456 /td 
 td 123 /td 
 td 456 /td 
 /tr 
 td 123 /td 
 td 456 /td 
 td 123 /td 
 td 456 /td 
 td 123 /td 
 td 456 /td 
 /tr 
 /table 

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》及《》

希望本文所述对大家JavaScript程序设计有所帮助。




在线客服

关闭

客户服务热线
4008-888-888


点击这里给我发消息 在线客服

点击这里给我发消息 在线客服