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

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

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

    posts - 18,  comments - 0,  trackbacks - 0

    //=======================================
    //功能: 滾動文本框精確位置定位
    //輸入參數:
    //?self ??滾動文本框對象
    //?_startLine ?開始行數
    //?_endLine ?結束行數
    //?_startPoint 開始行數的開始位置
    //?_endPoint ?結束行數的結束位置
    //調用方法:
    //?①同一行,從開始位置到結束位置:
    //?? selToLinePoint(self, 2, 2, 0/1, 0)
    //?②不同一行,從某一開始位置到結束位置:
    //?? selToLinePoint(self, 2, 4, 3, 0)
    //?③不同一行,從某一開始位置到某一結束位置:
    //?? selToLinePoint(self, 2, 4, 3, 9)
    //=======================================
    function selToLinePoint(self, _startLine, _endLine, _startPoint, _endPoint, _len){
    ?var src = self;
    ?var oTR = self.createTextRange();
    ?var text = self.innerText;
    ?var textLength = text.length;
    ?
    ?conts = [0];
    ?startx = src.createTextRange().getClientRects()[0].left;
    ?starty = src.createTextRange().getClientRects()[0].top;
    ?stepy = 3; ??//光標向下移動的步長,不能大于textarea中的字高
    ?currentScr = 0; ?//當前滾動條位置
    ?stepScr = 30; ?//滾動條向下滾動的步長,不能大于textarea的高度
    ?
    ?while(1){
    ??src.scrollTop = currentScr
    ??currenty = starty
    ??while(1){ //光標從textarea內容的開頭開始向下移動,遍歷各行,在conts[]中記下各換行位置
    ???oTR.moveToPoint(startx, currenty)
    ???oTR.moveEnd("character", textLength)
    ???var _oTR_Line_Length = oTR.text.length;
    ???cont = textLength - _oTR_Line_Length;
    ???if (cont >= textLength){
    ????break
    ???}
    ???if (cont>conts[conts.length - 1]){
    ????conts[conts.length] = cont
    ???}
    ???currenty += stepy
    ??}
    ??if (currentScr >= src.scrollHeight){
    ???break
    ??}
    ??currentScr += stepScr;
    ?}
    ?
    ?if (_endLine == "")
    ??_endLine = _startLine;
    ?_startLine = parseInt(_startLine);
    ?_endLine = parseInt(_endLine);
    ?
    ?if (isFinite(_startLine) && isFinite(_endLine) && _startLine > 0 && _endLine > 0){
    ??//檢查參數有效性
    ??if (_startLine > conts.length || _endLine > conts.length){
    ???alert("總共只有" + conts.length + "行,請檢查后重試。");
    ???return;
    ??}
    ??
    ??//如果結束行在開始行之前,強行調整參數
    ??if (_endLine < _startLine){
    ???_endLine = _startLine;
    ???end.value = _endLine;
    ??}
    ??
    ??src.scrollTop = 0;
    ??oTR.moveToPoint(startx, starty); ?//光標回到textarea內容的開頭
    ??st = conts[_startLine - 1];
    ??
    ??if (st > _startPoint){
    ???st = st + _startPoint;
    ??}else{
    ???var _rightTextLen = 0;
    ???for (var m = 0; m < conts.length; m++){
    ????if (conts[m] < _startPoint){
    ?????_rightTextLen = _startPoint - conts[m];
    ?????st = _startPoint - _rightTextLen;
    ?????if (_endLine == _startLine){
    ??????_endLine++;
    ?????}
    ????}else{
    ?????break;
    ????}
    ???}

    ???if (st + _rightTextLen < textLength){
    ????st = st + _rightTextLen;
    ???}
    ?????
    ??}
    ??
    ??texpreStart = text.substr(0, st);
    ??texpreStart = text.substr(0, st).replace(/\r/g, ""); //自textarea內容的開頭至選擇起點前的字串,由于moveStart方法將\r\n視為一個字符,需要修正計數
    ??
    ??st = texpreStart.length;
    ??oTR.moveStart("character", st);
    ??en = textLength;
    ??if (_endLine < conts.length){
    ???en = conts[_endLine];
    ???if (_endPoint > 0){
    ????var laLineLen = conts[_endLine] - conts[_endLine -1];
    ????en = en - laLineLen + _endPoint;
    ???}
    ??}
    ??texpreEnd = text.substr(0, en).replace(/\r/g,"") //自textarea內容的開頭至選擇結束點前的字串,由于moveEnd方法將\r\n視為一個字符,需要修正計數
    ??en = texpreEnd.length
    ??var _endX = en - st;
    ??oTR.moveEnd("character", _endX);
    ??oTR.select();
    ?}
    ?
    }

    posted on 2007-03-16 15:47 LORD BLOG 閱讀(572) 評論(0)  編輯  收藏 所屬分類: 項目筆記
    主站蜘蛛池模板: 久久青草91免费观看| 免费无码专区毛片高潮喷水| 国产一级片免费看| 亚洲综合色在线观看亚洲| 黄页网站在线免费观看| 91在线精品亚洲一区二区| 国产无遮挡无码视频免费软件 | 欧洲黑大粗无码免费| 亚洲精品中文字幕乱码| 亚洲精品在线免费观看视频 | 亚洲AV永久纯肉无码精品动漫| GOGOGO免费观看国语| 国产国拍精品亚洲AV片| 国内精品久久久久影院免费| 亚洲电影国产一区| 亚洲色www永久网站| 9久热这里只有精品免费| 亚洲中文字幕不卡无码| 免费成人高清在线视频| 亚洲精品中文字幕无乱码| 毛片a级毛片免费观看免下载| 亚洲成AV人片在线观看ww| 日本免费一区二区三区四区五六区| 亚洲黄色免费网站| 四虎永久在线精品免费网址| 国产亚洲情侣久久精品| 毛片a级毛片免费播放下载| 看亚洲a级一级毛片| 在线播放免费播放av片| 一级毛片在线免费播放| 国产在线98福利播放视频免费| 成年免费a级毛片| 国产不卡免费视频| 中文字幕免费观看视频| 亚洲视频欧洲视频| 亚洲?V无码乱码国产精品| 国产精品亚洲五月天高清| 亚洲精品亚洲人成在线观看| 一二三四影视在线看片免费| 免费大片黄在线观看| 亚洲精品午夜视频|