zoukankan      html  css  js  c++  java
  • 重构Javascript代码

    今天有做了几个asp.net结合Javascript的教程文章。现回顾头来看看那些Javascript脚本,有写得不太理想,过于复杂。现Insus.NET抽取出来,重构它们。

    第一篇是http://www.cnblogs.com/insus/archive/2013/01/20/2868532.html 原来的Javascript脚本:

    function SelectedAll(cb) {
                cb.checked = cb.checked ? false : true;
                var gv = document.getElementById('<%=GridViewCouplets.ClientID %>');
                var rc = gv.rows.length;
    
                for (var i = 1; i < rc; i++) {
                    var input = gv.rows[i].cells[0].getElementsByTagName("input");
                    if (input[0].type == "checkbox" && input[0].checked) {
                        input[0].checked = false;
                        gv.rows[i].style.backgroundColor = "";
                    }
                    else {
                        input[0].checked = true;
                        gv.rows[i].style.backgroundColor = "#66ff33;";
                    }
                }
            }
    
            function SelectedSingle(cb) {
                var row = cb.parentNode.parentNode;
                if (cb.checked) {
                    row.style.backgroundColor = "#66ff33;";
                }
                else {
                    row.style.backgroundColor = "";
                }
            }


    经过重构之后的Javascript脚本:

     function SelectedAll(cb) {
                var gv = document.getElementById('<%=GridViewCouplets.ClientID %>');
                var rc = gv.rows.length;
    
                for (var i = 1; i < rc; i++) {
                    var input = gv.rows[i].cells[0].getElementsByTagName("input");
    
                    if (input[0].type == "checkbox")
                    {
                        input[0].checked = cb.checked;
                        gv.rows[i].style.backgroundColor = input[0].checked ? "#66ff33;" :"";
                    }
                }
            }
    
            function SelectedSingle(cb) {
                var row = cb.parentNode.parentNode;           
                    row.style.backgroundColor = cb.checked?  "#66ff33;":"";            
            }


    另外一篇http://www.cnblogs.com/insus/archive/2013/01/20/2868766.html 原来的Javascript脚本:

     function Check_Uncheck_All(cb) {
                var cbl = document.getElementById("<%=CheckBoxListMusicType.ClientID%>");
                var input = cbl.getElementsByTagName("input");
    
                if (cb.checked) {
                    for (var i = 0; i < input.length; i++) {
                        input[i].checked = true;
                    }
                }
                else {
                    for (var i = 0; i < input.length; i++) {
                        input[i].checked = false;
                    }
                }            
            }


    重构之后的Javascript脚本:

     function Check_Uncheck_All(cb) {
                var cbl = document.getElementById("<%=CheckBoxListMusicType.ClientID%>");
                var input = cbl.getElementsByTagName("input");
    
                for (var i = 0; i < input.length; i++) {
                    input[i].checked = cb.checked;
                }
            }
  • 相关阅读:
    回溯算法之素数环
    回溯算法之迷宫问题
    回溯算法之0-1背包问题
    贪心算法之搬桌子问题
    贪心算法之背包问题
    动态规划之收集苹果
    动态算法
    c#数和二叉树
    c# 排序算法
    c#栈的习题2
  • 原文地址:https://www.cnblogs.com/insus/p/2868952.html
Copyright © 2011-2022 走看看