zoukankan      html  css  js  c++  java
  • 兼容ie6及以上的表格行滑过时背景色切换的效果

    ;(function(window){
        var tb = document.getElementById('tablelist');
        function trfocus(){//为了兼容IE6在css中td不要设置背景颜色,否则会遮挡住tr背景颜色的变换.在标准浏览器中可以直接用样式控制鼠标滑过时,切换表格行背景色的效果,代码是:
        //.tablelist tr:hover td{background: #e2f3fe;color: #2d9ff1;}
            var e = event.srcElement || event.target;
            if (e.tagName == 'TD') {//e.parentNode就是tr
                e.parentNode.style.backgroundColor = '#e2f3fe';
                var tds = e.parentNode.getElementsByTagName('td');
                for(var i = 0;i<tds.length;i++){
                    tds[i].style.color = '#2d95f1';
                }
                // e.style.color = '#2d95f1';当前td
            };
        }
        function trblur(){
            var e = event.srcElement || event.target;
            if (e.tagName == 'TD') {
                e.parentNode.style.backgroundColor = '#fff';
                var tds = e.parentNode.getElementsByTagName('td');
                for(var i = 0;i<tds.length;i++){
                    tds[i].style.color = '#333';
                }
            };
        }
        for(var i = 1;i<tb.rows.length;i++){
            var row = tb.rows[i];
            if (document.addEventListener) {
                row.addEventListener('mouseover',trfocus,false);
                row.addEventListener('mouseout',trblur,false);
            } else if(document.attachEvent) {
                row.attachEvent('onmouseover',trfocus);
                row.attachEvent('onmouseout',trblur);
            } else{
                row.onmouseover = function(){
                    trfocus();
                }
                row.onmouseout = function(){
                    trblur();
                }
            }
        }
    })(window);


    //小结:js原生中的事件方法addEventListener()以及样式编程dom.style....等只对单个元素或DOM节点起效果,对于标签集来说就要用for循环来获取单个元素才能绑定事件方法和样式编程属性。

  • 相关阅读:
    Thinkphp中自己组合的数据怎样使用框架的分页
    CI框架不能有Index控制器
    购物车,修改数量错误
    TypeError: 'stepUp' called on an object that does not implement interface HTMLInputElement.
    OAuth2.0
    通过控制面板查看时间日志
    js再学习笔记
    Thinkphp验证码异步验证第二次及以后验证,验证错误----待解决
    cookie&&session再理解笔记
    markdown语法学习笔记
  • 原文地址:https://www.cnblogs.com/koleyang/p/5239296.html
Copyright © 2011-2022 走看看