<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 1,  comments - 25,  trackbacks - 0
    <html>   
      <head>   
      <meta http-equiv="Content-Type" content="text/html; charset=gb2312">   
      <meta name="GENERATOR" content="Microsoft FrontPage 4.0">   
      <meta name="ProgId" content="FrontPage.Editor.Document">   
      <title>光標(biāo)位置</title>   
      <style>   
      INPUT{border: 1 solid #000000}   
      BODY,TABLE{font-size: 10pt}   
      </style>   
      </head>   
      <body>   
      <table border="0" width="700" cellspacing="0" cellpadding="0">   
      <tr>   
      <td width="479" rowspan="17">   
      點(diǎn)擊 TextArea 實(shí)現(xiàn)光標(biāo)定位   
      <p>   
      <input type="Button" value="ff" onclick="fo()"/>
      <input type="Button" value="UPLINE" onclick="upLine()"/>
      <input type="Button" value="DOWNLINE" onclick="downLine()"/>
      <textarea rows="17" cols="49" id="box" onclick="tellPoint()" >
    HIGHHEEL
    sfsfsfs
    s1123
    432434
    asf
    fsa
    sf
    3232</textarea> 
      <script type="text/javascript">
      function getPos(textarea) {
      var rangeData = {text: "", start: 0, end: 0 };
     
      if (textarea.setSelectionRange) { // W3C 
       textarea.focus();
       rangeData.start= textarea.selectionStart;
       rangeData.end = textarea.selectionEnd;
       rangeData.text = (rangeData.start != rangeData.end) ? textarea.value.substring(rangeData.start, rangeData.end): "";
      } else if (document.selection) { // IE
       textarea.focus();
       var i,
        oS = document.selection.createRange(),
        // Don't: oR = textarea.createTextRange()
        oR = document.body.createTextRange();
       oR.moveToElementText(textarea);
       
       rangeData.text = oS.text;
       rangeData.bookmark = oS.getBookmark();
       
       // object.moveStart(sUnit [, iCount]) 
       // Return Value: Integer that returns the number of units moved.
       for (i = 0; oR.compareEndPoints('StartToStart', oS) < 0 && oS.moveStart("character", -1) !== 0; i ++) {
        // Why? You can alert(textarea.value.length)
        if (textarea.value.charAt(i) == '/r' ) {
         i ++;
        }
       }
       rangeData.start = i;
       rangeData.end = rangeData.text.length + rangeData.start;
      }
      
      return rangeData;
      }
      
      function fo(){
     var text = new String(document.getElementById("box").value);
     var currentCurrosr = document.getElementById("pnum").value;
     alert(text.substring(currentCurrosr-1, currentCurrosr));
     pos = getPos(document.getElementById("box"));
     alert(pos.start);
    //       var end = text.indexOf("\r\n", document.getElementById("pnum").value);
    //      if(end == -1){
    //     alert("END");
    //      }
    //     var start = text.lastIndexOf("\r\n", currentCurrosr);
    //     if(start == -1){alert("START");}
    //     var currentLine = getLine(currentCurrosr);
    //     alert("CUL"+currentLine+"L"+currentLine.length);
    //     var nextLine = getLine(end + 1);
    //     alert("NEXT"+nextLine+"L"+nextLine.length);
    //     var preLine = getLine(start - 1);
    //     alert("PRE"+ preLine+"L"+preLine.length);
      }
      
      function upLine(){
     var text = new String(document.getElementById("box").value);
     var currentCurrosr = document.getElementById("h1").value;
          var end = text.indexOf("\r\n",currentCurrosr);
          var start = null;
          if(currentCurrosr == end){
    start =text.lastIndexOf("\r\n", currentCurrosr-1);  
          }else{
          start = text.lastIndexOf("\r\n", currentCurrosr);
          }
          if(start == -1){alert("Already the toppest!");
          return;
          }
          var preLine = getLine(start-1);
          var currentLine = getLine(currentCurrosr);
          var preLineStart = text.lastIndexOf("\r\n", start-1);
          var sq = null;
          var endPart = text.substring(end,text.length);
        alert(text.length);
          if(preLineStart == -1){
        sq = new String(currentLine).substring(2, currentLine.length).concat("\r\n").concat(preLine).concat(endPart);
        alert(sq);
        alert(sq.length);
          }else{
         alert(preLineStart);
         sq = text.substring(0, preLineStart).concat(currentLine).concat(preLine).concat(endPart);
              alert(sq);
              alert(sq.length);
          }
          document.getElementById("box").value=sq;
      }
      
      function downLine(){
     
      }
      
       
      
      
      function getLine(currsor){
    var text = new String(document.getElementById("box").value);
    var end = text.indexOf("\r\n", currsor);
    if(end == -1){
    return text.substring(text.lastIndexOf("\r\n", text.length), text.length);
    }
    var tmp = text.substring(0, end);
    var start = tmp.lastIndexOf("\r\n", end);
    if(start == -1){
    }
    // alert(tmp);
    // alert(start);
    // alert(text.substring(start+4, end).length);
    // alert(text.substring(start+4, end));
    return text.substring(start, end);
    }
      function movePoint()   
      {   
      var pn=parseInt(pnum.value);   
      if(isNaN(pn))   
      return;   
      var rng=box.createTextRange();   
      rng.moveStart("character",pn);   
      rng.collapse(true);   
      rng.select();   
      returnCase(rng)   
      }   
      function tellPoint()   
      { 
      var rng=event.srcElement.createTextRange();   
      rng.moveToPoint(event.x,event.y);   
      rng.moveStart("character",-event.srcElement.value.length)   
      h1.value=rng.text.length; 
      pnum.value=rng.text.length;
      returnCase(rng)   
      }   
       
      function returnCase(rng)   
      {   
      bh.innerText=rng.boundingHeight;   
      bl.innerText=rng.boundingLeft;   
      bt.innerText=rng.boundingTop;   
      bw.innerText=rng.boundingWidth;   
      ot.innerText=rng.offsetTop;   
      ol.innerText=rng.offsetLeft;   
      t.innerText=rng.text;   
      }   
       
      function selectText(sp,ep)   
      {   
      sp=parseInt(sp)   
      ep=parseInt(ep)   
      if(isNaN(sp)||isNaN(ep))   
      return;   
      var rng=box.createTextRange();   
      rng.moveEnd("character",-box.value.length)   
      rng.moveStart("character",-box.value.length)   
      rng.collapse(true);   
      rng.moveEnd("character",ep)   
      rng.moveStart("character",sp)   
      rng.select();   
      returnCase(rng);   
      }   
      var rg=box.createTextRange();   
      function findText(tw)   
      {   
      if(tw=="")   
      return;   
      var sw=0;   
      if(document.selection)   
      {   
      sw=document.selection.createRange().text.length;   
      }   
      rg.moveEnd("character",box.value.length);   
      rg.moveStart("character",sw);   
       
      if(rg.findText(tw))   
      {   
      rg.select();   
      returnCase(rg);   
      }   
      if(rg.text!=tw)   
      {   
      alert("已經(jīng)搜索完了");   
      rg=box.createTextRange();   
      }   
      }   
      </script>   
      </p>   
      <p></p>
      
      <input type="hidden" id="h1">   
      光標(biāo)位置:<input type="text" value="0" id="pnum" size="8"> <input type="button" onclick="movePoint()" value="移動(dòng)光標(biāo)到指定位置">   
      <p></p>   
      選擇指定范圍:<input type="text" size="9" id="sbox"> -- <input type="text" size="9" id="ebox"> <input type="button" onclick="selectText(sbox.value,ebox.value)" value="選擇">   
      <p></p>   
      選擇查找字符 :<input type="text" value="" id="cbox" size="8"> <input type="button" onclick="findText(cbox.value)" value="查找下一個(gè)并選擇">   
      </td>   
      <td width="217">boundingHeight:&nbsp;<span id="bh"></span></td>   
      </tr>   
      <tr>   
      <td width="217">boundingWidth:&nbsp;<span id="bw"></span></td>   
      </tr>   
      <tr>   
      <td width="217">boundingTop:&nbsp;<span id="bt"></span></td>   
      </tr>   
      <tr>   
      <td width="217">boundingLeft:&nbsp;<span id="bl"></span></td>   
      </tr>   
      <tr>   
      <td width="217">offsetLeft:&nbsp;<span id="ol"></span> </td>   
      </tr>   
      <tr>   
      <td width="217">offsetTop:&nbsp;<span id="ot"></span> </td>   
      </tr>   
      <tr>   
      <td width="217">text:&nbsp;<span style="position: absolute; z-index: 10" id="t" ></span> </td>   
      </tr>   
      </table>   
      </body>   
      </html>
    posted on 2011-12-01 23:03 Daniel 閱讀(304) 評(píng)論(0)  編輯  收藏 所屬分類: JS

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(3)

    隨筆檔案

    文章分類

    文章檔案

    相冊(cè)

    搜索

    •  

    最新評(píng)論

    主站蜘蛛池模板: 亚洲一区二区三区在线观看精品中文| 国产国拍亚洲精品mv在线观看| 日本中文字幕免费看| 337p日本欧洲亚洲大胆裸体艺术| 久久久久久夜精品精品免费啦| 亚洲熟女综合一区二区三区| 久久精品国产亚洲Aⅴ香蕉| 最近中文字幕完整版免费高清| 亚洲αⅴ无码乱码在线观看性色| 曰韩亚洲av人人夜夜澡人人爽 | 人禽杂交18禁网站免费| 又大又硬又粗又黄的视频免费看| 亚洲综合精品香蕉久久网97| 免费观看毛片视频| 午夜网站在线观看免费完整高清观看| 亚洲精品成a人在线观看☆| 亚洲AV无码专区国产乱码4SE| 精品剧情v国产在免费线观看 | 久久99精品视免费看| 亚洲AV成人无码久久WWW| 亚洲av无码一区二区三区不卡| 在线观看免费成人| 182tv免费视视频线路一二三| 牛牛在线精品免费视频观看| 亚洲国产精品一区二区久| 亚洲另类少妇17p| 最近中文字幕mv手机免费高清| 成人无码精品1区2区3区免费看| 亚洲色偷偷综合亚洲AV伊人蜜桃| 久久亚洲一区二区| 亚洲中文字幕成人在线| 最近2019中文免费字幕| 永久黄色免费网站| 国产免费AV片在线观看| 国产福利免费视频 | 在人线av无码免费高潮喷水| 在线播放免费人成毛片乱码| 四虎成人精品国产永久免费无码| 亚洲熟妇久久精品| 亚洲一区二区三区无码国产| 亚洲男人天堂av|