<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)  編輯  收藏 所屬分類: 項目筆記
    主站蜘蛛池模板: 亚洲乱码中文字幕小综合| 国产乱辈通伦影片在线播放亚洲 | 亚洲AV成人精品一区二区三区| 久久精品国产大片免费观看| 亚洲午夜久久久影院| 成在线人视频免费视频| 国产亚洲自拍一区| a级毛片在线免费看| 国产日产亚洲系列最新| 曰批全过程免费视频在线观看无码| 亚洲中文字幕不卡无码| 最新国产乱人伦偷精品免费网站 | 精品无码一区二区三区亚洲桃色| 中文字幕永久免费| 亚洲av无码一区二区乱子伦as | 久久久久久一品道精品免费看| 亚洲AV一宅男色影视| 18禁男女爽爽爽午夜网站免费| 亚洲激情视频网站| 免费高清资源黄网站在线观看| 精品亚洲视频在线| 亚洲中文字幕无码不卡电影 | 亚洲AV日韩AV永久无码色欲| 亚洲AV网站在线观看| 久久国产乱子伦精品免费强| 亚洲精彩视频在线观看| 免费羞羞视频网站| 亚洲阿v天堂在线2017免费| 亚洲日本一区二区三区| 久久久www成人免费毛片| 黄色免费在线观看网址| 国产AV无码专区亚洲AVJULIA| 美女视频黄是免费的网址| 国产亚洲精品2021自在线| 亚洲综合AV在线在线播放| 在线观看免费人成视频色9| 真正全免费视频a毛片| 亚洲AV日韩AV鸥美在线观看| 嫩草影院免费观看| a级片在线免费看| 激情亚洲一区国产精品|