我们年轻过吧 关注:1贴子:151

2012年,我把我遇到的所有坎儿,写下来

只看楼主收藏回复

技术坎儿:
对于一个没什么架构经验的小工程师来说,前期如果自己真的没做好分析工作,而直接上来就写代码的话,到后面的力气可真不是一般的大。忽然来一个新想法要加进来,你所有的代码都得动,不面向对象的编程真不是长肉的人能承受的压力。
中.天的时移web模块,我就弄了两个月了,简简单单几百行代码,真是让人心碎。总算弄出个样子,可是还有‘效率’问题。不学真不行。
下面是时移项目的所有我自己碰到的技术难点:::::
javascript---js文件
《多个数组拼接成新数组》
新数组 = aTitle0.concat(aTitle1, aTitle2);
新数组 = aTitle0.concat(aTitle1);
《清空数组》
数组.splice(0, 数组.length);
《获取html页面值》
html页面
<script type="text/JavaScript" language="javascript" src="../../Librarys/timeMove.js"></script>
<asp:TextBox ID="tbItemIndex" style="display:none" runat="server"></asp:TextBox>
js文件
var nItemIndex = document.getElementById("tbItemIndex").value;



1楼2012-02-06 17:42回复
    《js中获取焦点》
    html页面中
    <a id=now href=“javascript:void(null); return false">" js页面中
    document.getElementById("now").focus();


    2楼2012-02-06 17:43
    回复
      《我觉得很有意思的分页控制方法,折腾了两天》
      var nItemIndex = document.getElementById("tbItemIndex").value;
      var temp = 0; //临时数据
      var aIndex = 0;
      for (var i = 0; i < PageCount; i++) {
      var count = 0;
      for (var j = temp; j < _newChannelNameArray.length; j++) {
      if (count++ <= 9) {
      aIndex++;
      if (aID[nItemIndex] == _newIDArray[j]) {
      CurrentPage = i;
      Get_ChannelName(CurrentPage, aIndex - 1);
      return;
      }
      temp = j + 1;
      }
      }
      }
      }


      3楼2012-02-06 17:46
      回复

        《是这个Id里面的html重新换一次》
        document.getElementById("XXId").innerHTML = "";


        4楼2012-02-06 17:47
        回复
          《点击一个按钮,另一个按钮的背景颜色就要消去,当前这个按钮添加背景颜色》
          var _selectID_Old = ""; _selectID_Old = strIndex; //strIndex为索引值
          document.getElementById("cn_" + _selectID_Old).className = "CHN_Selected";
          //.className 为html中的CSS样式
          在html中这样写::::
          <style type="text/css">
          .CHN_Selected
          {
          background-color:#FF9900;
          } .CHN_None_Selected
          {
          } </style>
          if (_selectID_Old == "") _selectID_Old = "0";
          if (document.getElementById("cn_" + _selectID_Old)) document.getElementById("cn_" + _selectID_Old).className = "CHN_None_Selected";
          if (document.getElementById("cn_" + sID)) document.getElementById("cn_" + sID).className = "CHN_Selected"; 意会一下吧。


          5楼2012-02-06 17:47
          回复
            《在js中获取日期格式,要注意,获取utc格式还有》
            //获取日期格式
            function TimeShow(str) {
            var _date = new Date();
            _date.setDate(_date.getDate() + str);
            var _newYear = _date.getUTCFullYear();
            var _newMonth = _date.getUTCMonth() + 1;
            var _newDate = _date.getUTCDate();
            var _newHour = _date.getUTCHours();
            var _newMinute = _date.getUTCMinutes();
            var _newSecond = _date.getUTCSeconds(); if (_newMonth < 10) _newMonth = "0" + _newMonth;
            if (_newDate < 10) _newDate = "0" + _newDate; var _dateSum = _newYear + "-" + _newMonth + "-" + _newDate;
            return _dateSum;
            }


            6楼2012-02-06 17:47
            回复
              《动态数组加入到还没成形的动态数组中》
              //传入新的数组
              function varFunction(arr, strIn, str) {
              arr[0] = _tv_program_Date[strIn][str];
              arr[1] = new Array();
              arr[2] = new Array();
              for (var j = 0; j < _tv_program_Timer[strIn][str][0].length; j++) {
              arr[1][j] = _tv_program_Timer[strIn][str][0][j];
              } for (var k = 0; k < _tv_program_Timer[strIn][str][1].length; k++) {
              arr[2][k] = _tv_program_Timer[strIn][str][1][k];
              }
              }
              


              7楼2012-02-06 17:47
              回复



                8楼2012-02-06 17:52
                回复
                  《switch 、、case语法好好记着,老是忘》
                  switch (vari) {
                  case 'kang':
                  代码.....
                  break;
                  case 'li':
                  代码.....
                  break;
                  case 2:
                  代码.....
                  break;
                  case 3:
                  代码.....
                  break;
                  default:


                  9楼2012-02-06 17:56
                  回复
                    《更换指定ID的背景图片》
                    document.getElementById(str).style.backgroundImage = "url('images/xx/2_06.gif')";
                    《onclick onmouseover onmouseout》
                    用法差不多,仿照上面的图片资料


                    10楼2012-02-06 17:59
                    回复
                      《一个指定的ID的隐藏和显示》
                      document.getElementById("A1").style.display = "none";
                      document.getElementById("A1").style.display = "block";


                      11楼2012-02-06 18:00
                      回复
                        《挺上4楼的信息》
                        var mainS = "<table><tr><td align='center'><font size='15px'>暂无信息!</font></td></tr></table>";
                        document.getElementById("_leftMain").innerHTML = mainS;


                        12楼2012-02-06 18:00
                        回复
                          《使用全局变量的时候,要分情况使用》
                          1,有的使用布尔类型
                          2,有的使用字符串类型
                          一般情况下bool类型好用,全局变量是个好东西


                          13楼2012-02-06 18:14
                          回复
                            对于,这个时移项目来说,最大的问题,其实是运行效率问题,现在必须想办法把效率提高。


                            14楼2012-02-07 14:10
                            回复
                              var abc = "123456789:1234567";
                              //.indexOf()方法 包含两个参数,第一个要找的字符,第二个开始的位置,默认为0
                              var subA = abc.indexOf(":");
                              //.substring()方法 包含两个参数,第一个字符串开始的位置,第二个字符串截取截至位置,默认不填是到最后
                              var subB = abc.substring(2);
                              上面两个方法,经常配合使用


                              15楼2012-02-09 15:12
                              回复