网站公告列表

没有公告

加入收藏
设为首页
联系站长
轻松学电脑>>网页制作>>其它教程>>[突破]在线编辑器任意设置字号
双击滚屏阅读

[突破]在线编辑器任意设置字号
onts.replace(/\n/g, "") var u=cont.length if(cont==contpa.substr(k-u)){partB=cont;partA=contpa.substr(0,k-u)}else{ for(u=cont.length;u>0;u--) {if(cont.lastIndexOf(contpa.substr(k-u))!=-1){partB0=contpa.substr(k-u);partA0=contpa.substr(0,k-u);break}} /* **************************************************************************************************** 对于选中的内容刚好处于一个标签的内部的这种情况,它的具体情况可能又是五花八门的,我个人采取的办法是把格式化和不格式化都尝试一下,除非格式化的结果令partB长度较长(这说明浏览器自动添加的那些\r\n使“磨”出来的partB长度变短),否则就不格式化。 **************************************************************************************************** */ contt=formatfor(conts) if(hu!="")if(contt.substr(contt.length-kol)==ko)contt=contt.substr(0,contt.length-kol)+hu u=contt.length var youm=contpa.lastIndexOf(contt) if(youm!=-1){partB=contt;partA=contpa.substr(0,youm);partC=contpa.substr(youm+u)+partC}else{ for(;u>0;u--){if(contt.lastIndexOf(contpa.substr(k-u))!=-1){partB1=contpa.substr(k-u);partA1=contpa.substr(0,k-u);break}} if(partB1.length>partB0.length){partB=partB1;partA=partA1}else{partB=partB0;partA=partA0} } } if(partB.substr(partB.length-1)=="<"){partB=partB.substr(0,partB.length-1);partC="<"+partC} if(partB.substr(partB.length-2)=="</"){partB=partB.substr(0,partB.length-2);partC="</"+partC} //显示按要求分好的A、B、C三段内容。 alert(partA) alert(partB) alert(partC) } </script> </head> <body SCROLL="no" bgcolor=d0d0c8 onload="start()" leftmargin=5 topmargin=5> <IFRAME id="Editor" Name="Editor" style="WIDTH: 550; HEIGHT: 480"></IFRAME> <button onclick=first()>先选择一段文字<br>再点击<font color=red>这个</font>按钮看看</button></body>
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

Tip: 留心的朋友可能已经想到了:这段代码还可以用于实现在 “设计/代码” 模式切换过程中,令选中的文字或光标位置保持对应


成功地实现对内容选中部分的定位之后,接下来要解决的第二个问题是:根据需要改变选中部分的代码

HTML代码是由标签组成的,我们需要处理的是对字号大小有影响的标签,可分为6种情况:

1、font标签,毋庸置疑,这个标签需要重点处理;

2、h[1-6]、pre、button、listing、big、small、tt、code、kbd、samp等具有字号改变作用的标签

3、浏览器所能识别的大多数标签在带有style="FONT-SIZE: xxx;"样式属性时将可能对字号大小产生影响;

4、select、input、option和object,这四个标签也可以带上FONT-SIZE样式(算是稀奇古怪的用法),但其效果特殊,应将它们从上一条中排除;

5、sup和sub虽然也会影响字号大小,但是它们的这种影响在重新设置字号时应该被保留,所以对这两个标签无需作处理。

6、其他会造成位于自己前面的font标签的字号效力中断的标签,例如<td>、</td>、<caption>、</caption>、<th>、</th>、<tr>、</tr>、<table>、</table>、<thead>、</thead>、<tbody>、</tbody>、<tfoot>、</tfoot>……还可能有哪些一时也想不起来,慢慢完善吧。

处理过程如下(具体代码见演示例):

  • 0、在做所有的处理之前,先要将textarea、xmp、script和style标签的内容封印起来,以保护它们不被破坏。
  • 1、处理font标签:

(1)尝试将PartB内的所有font标签配对。(Tip:这段代码也可以用来做

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页

 
  • 上一篇文章:

  • 下一篇文章:
  • 广告
    阅读top10
    普通文章[突破]在线编辑器任意…
    普通文章[JS]点出统计器
    普通文章[效果]JS折叠菜单
    普通文章javascript的函数
    普通文章怎么用javascript…
    普通文章百分百弹窗
    普通文章hta应用—代码统计工具
    普通文章小方框中浏览大图
    普通文章js版sliderBar(滑动条…
    普通文章JS代码格式化和语法着…
    普通文章好玩的样式—放大效果
    普通文章用css制作星级评分
    普通文章关于textarea的直观换…
    普通文章仿windows选项卡效果拾…
    查看[突破]在线编辑器任意设置字号全部内容
    本站提供:电脑教程 网页制作 Flash教程 PhotoShop教程等免费教程。
    Copyright © 2006-2008轻松学电脑All Rights Reserved