<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

    //=======================================
    //功能: 滾動(dòng)文本框精確位置定位
    //輸入?yún)?shù):
    //?self ??滾動(dòng)文本框?qū)ο?br />//?_startLine ?開始行數(shù)
    //?_endLine ?結(jié)束行數(shù)
    //?_startPoint 開始行數(shù)的開始位置
    //?_endPoint ?結(jié)束行數(shù)的結(jié)束位置
    //調(diào)用方法:
    //?①同一行,從開始位置到結(jié)束位置:
    //?? selToLinePoint(self, 2, 2, 0/1, 0)
    //?②不同一行,從某一開始位置到結(jié)束位置:
    //?? selToLinePoint(self, 2, 4, 3, 0)
    //?③不同一行,從某一開始位置到某一結(jié)束位置:
    //?? 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; ??//光標(biāo)向下移動(dòng)的步長,不能大于textarea中的字高
    ?currentScr = 0; ?//當(dāng)前滾動(dòng)條位置
    ?stepScr = 30; ?//滾動(dòng)條向下滾動(dòng)的步長,不能大于textarea的高度
    ?
    ?while(1){
    ??src.scrollTop = currentScr
    ??currenty = starty
    ??while(1){ //光標(biāo)從textarea內(nèi)容的開頭開始向下移動(dòng),遍歷各行,在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){
    ??//檢查參數(shù)有效性
    ??if (_startLine > conts.length || _endLine > conts.length){
    ???alert("總共只有" + conts.length + "行,請(qǐng)檢查后重試。");
    ???return;
    ??}
    ??
    ??//如果結(jié)束行在開始行之前,強(qiáng)行調(diào)整參數(shù)
    ??if (_endLine < _startLine){
    ???_endLine = _startLine;
    ???end.value = _endLine;
    ??}
    ??
    ??src.scrollTop = 0;
    ??oTR.moveToPoint(startx, starty); ?//光標(biāo)回到textarea內(nèi)容的開頭
    ??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內(nèi)容的開頭至選擇起點(diǎn)前的字串,由于moveStart方法將\r\n視為一個(gè)字符,需要修正計(jì)數(shù)
    ??
    ??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內(nèi)容的開頭至選擇結(jié)束點(diǎn)前的字串,由于moveEnd方法將\r\n視為一個(gè)字符,需要修正計(jì)數(shù)
    ??en = texpreEnd.length
    ??var _endX = en - st;
    ??oTR.moveEnd("character", _endX);
    ??oTR.select();
    ?}
    ?
    }

    posted on 2007-03-16 15:47 LORD BLOG 閱讀(578) 評(píng)論(0)  編輯  收藏 所屬分類: 項(xiàng)目筆記
    主站蜘蛛池模板: xxxxx做受大片视频免费| 亚洲成a人片在线不卡一二三区| 日本高清不卡中文字幕免费| 在线免费视频一区二区| 亚洲性色AV日韩在线观看| 免费黄色小视频网站| 亚洲国产欧洲综合997久久| 免费看的成人yellow视频| 亚洲av无码专区在线电影| 免费人妻av无码专区| 一级毛片免费毛片毛片| 亚洲欧洲无码AV电影在线观看| 你懂得的在线观看免费视频| 亚洲熟妇无码另类久久久| 免费国产成人18在线观看| 久久久久亚洲精品日久生情| 97在线观看永久免费视频| 伊人久久亚洲综合影院首页| 国产成人免费手机在线观看视频| 日韩亚洲综合精品国产| 国产亚洲精品国看不卡| 久久免费线看线看| 亚洲乱码中文论理电影| 国产免费爽爽视频免费可以看| 2020因为爱你带字幕免费观看全集 | 亚洲精品乱码久久久久久久久久久久| 中文字幕免费在线观看动作大片| 亚洲国产成人精品无码区在线观看| 95免费观看体验区视频| 亚洲色一区二区三区四区 | 精品国产精品久久一区免费式| 国产精品亚洲а∨天堂2021| 在线亚洲97se亚洲综合在线| 99re免费视频| 国产亚洲精品免费| 亚洲va久久久噜噜噜久久天堂 | 亚洲AV成人一区二区三区观看| 国产成人综合亚洲AV第一页| 久久久久免费看成人影片| 亚洲GV天堂无码男同在线观看| 国产AV无码专区亚洲AV毛网站|