webform上div有篇文章,我将鼠标划过的部分自动加个样式,比方说变蓝色
但是,当ie窗体变小后,上一行部分蓝色的又恢复成黑色了,只有下一行部分是蓝色,不知道为什么?
我想这样行不行?判断划过的部分是否折行,如果折行可以分开设置样式,上一行鼠标划过的部分设一个,下一行鼠标划过的部分设一个

解决方案 »

  1.   

    划过是什么意思,当前行吗?你的div是自适应??
      

  2.   

    div自适应,划过就是鼠标选中一段文字的意思
      

  3.   

    ie最大化时,选中的文字是在一行,加样式是可以的,但是ie窗体变小后,这段文字一部分在上一行,一部分在下一行,只有下一行的颜色是蓝色的,上一行又恢复成黑色了
      

  4.   

    css样式里定义了一个样式
    .s
    {
    background: url(/Images/Grammer/s.gif) repeat-x 100% 100%;
    }然后在div上选中一部分后,自动给这段文字加这个样式class='s'

    <div class='s'>这是选中的一段文字,当在一行时样式没问题,但是改变ie窗体大小后,这段文字变成两行,只有下一行背景变了有效果,上一行没效果</div>
      

  5.   

    呵呵,不好意思,一开始我没描述清楚这个问题
    其实样式背景是个图片,所以样式不能折行
    所以我想判断我用鼠标划过的这段文字是否折行了,如果折行,我将上下两行选中的部分分别再设加class='s'的样式应该就可以了
    问题是,我怎么判断我选中的这段文字是否折行了呢?
      

  6.   

    你这个是 一会一行,一会换行,得配合onresize 窗体变化事件,至于这段文本判断是否换行,有点麻烦,或许你可以根据首页开始位置 到 div右边框的大概位置,来判断他的第一行,依此类推。。我再想想
      

  7.   


    好消息。。我试验成功了
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default7.aspx.cs" Inherits="_601_Default7" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>无标题页</title>    <script src="../jquery-1.4.2.min.js" type="text/javascript"></script>
        <style type="text/css">
            .s
            {
             background: url(1.jpg) repeat-x 100% 100%;
            }
        </style>
        <script type="text/javascript">
            $(function(){
               
                $("#divAbc").mouseup(function(){
                    var selVal = "";
                    if (document.selection) {
                        selVal = document.selection.createRange().text;
                    }
                    else if (window.getSelection()) {
                        selVal = window.getSelection();
                    }
                    var newVal = "<div class='s'>"+selVal + "</div>";            
                    var str = $(this).html().replace(selVal,newVal);               
                    $(this).html(str);
                });                                     
            });
            
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div id="divAbc">
        中新网6月10日电 卫生部今日召开例行新闻发布会,介绍中国新农合工作进展及近期重点工作有关情况。卫生部办公厅副主任、新闻发言人邓海华答记者问时指出,“全球基金冻结了对于中国三种疾病的拨款,对于疟疾、结核、艾滋病的防控,可能会产生较大的影响。”“全球基金对华暂停拨款以后,卫生部高度重视,成立了相关的工作小组,对全球基金提出的问题,开展了相应的自查工作。”邓海华称,鉴于疟疾、结核、艾滋病这三项疾病的防控项目已和国家自主的国家项目结合在一起开展,因此,全球基金冻结了对于这部分拨款,对这三种疾病的防控,可能会产生较大的影响。“所以国家协调委员会和中国疾控重病正在与全球基金秘书处一起加紧协商,研究解决相应的问题。”据介绍,中国全球基金的项目国家协调委员会主席和副主席,已经对全球基金的事发布了联合声明。对于全球基金的运作,根据全球基金的规定,是由中国组织全球基金项目国家协调委员会,来负责全球基金的申请、审议、批准、协调以及项目的执行、监督、指导等等工作,这一委员会是一个由部委、国际组织、非政    </div>
        </form>
    </body>
    </html>
      

  8.   

    background: url(/Images/Grammer/s.gif) repeat-x 100% 100%;都repeat-x了,换行当然没背景了
    把x这个方向的限制去掉呗
      

  9.   


      var newVal = "<div class='s'>"+selVal + "</div>";        这个改为 var newVal = "<span class='s'>"+selVal + "</span>";要不然有差距。。和你要的  
      

  10.   


    浏览器最大化
    http://hi.csdn.net/space-2434315-do-album-picid-831420.html浏览器双击变小之后的http://hi.csdn.net/space-2434315-do-album-picid-831421-goto-down.html
      

  11.   


    多行也一样啊。我试过了。。你是按我的代码放过去的吗?再给你帖一次。。
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default7.aspx.cs" Inherits="_601_Default7" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>无标题页</title>    <script src="../jquery-1.4.2.min.js" type="text/javascript"></script>
        <style type="text/css">
            .s
            {
             background: url(1.png) repeat-x;
            }
        </style>
        <script type="text/javascript">
            $(function(){
               
                $("#divAbc").mouseup(function(){
                    var selVal = "";
                    if (document.selection) {
                        selVal = document.selection.createRange().text;
                    }
                    else if (window.getSelection()) {
                        selVal = window.getSelection();
                    }
                    var newVal = "<span class='s'>"+selVal + "</span>";            
                    var str = $(this).html().replace(selVal,newVal);               
                    $(this).html(str);
                });                                     
            });
            
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div id="divAbc">
        中新网6月10日电 卫生部今日召开例行新闻发布会,介绍中国新农合工作进展及近期重点工作有关情况。卫生部办公厅副主任、新闻发言人邓海华答记者问时指出,“全球基金冻结了对于中国三种疾病的拨款,对于疟疾、结核、艾滋病的防控,可能会产生较大的影响。”“全球基金对华暂停拨款以后,卫生部高度重视,成立了相关的工作小组,对全球基金提出的问题,开展了相应的自查工作。”邓海华称,鉴于疟疾、结核、艾滋病这三项疾病的防控项目已和国家自主的国家项目结合在一起开展,因此,全球基金冻结了对于这部分拨款,对这三种疾病的防控,可能会产生较大的影响。“所以国家协调委员会和中国疾控重病正在与全球基金秘书处一起加紧协商,研究解决相应的问题。”据介绍,中国全球基金的项目国家协调委员会主席和副主席,已经对全球基金的事发布了联合声明。对于全球基金的运作,根据全球基金的规定,是由中国组织全球基金项目国家协调委员会,来负责全球基金的申请、审议、批准、协调以及项目的执行、监督、指导等等工作,这一委员会是一个由部委、国际组织、非政    </div>
        </form>
    </body>
    </html>
      

  12.   

    var str = $(this).html().replace(selVal,newVal);
    这种逻辑应该不行,一篇文章里面,有好几处相同的文字,我刚刚选择了文章最后的 “组”,第一个“组”就有下划线了
      

  13.   


    选多行,浏览器最大化时
    http://hi.csdn.net/space-2434315-do-album-picid-831426-goto-down.html选多行,浏览器变小时
    http://hi.csdn.net/space-2434315-do-album-picid-831426.html
      

  14.   

    porschev的办法,IE6不行LZ可以用 border-bottom:1px #ff0000 dashed 替代图片或者就用我13楼的思路以距离来判断是否换行了。吃饭去了
      

  15.   

    你有QQ吗?要不你加我qq,远程看一下?
    我的qq:42809764
      

  16.   

    刚刚在IE8里面测试porschev 的办法了,可以的,窗口缩小后,也可以换行显示背景图的
      

  17.   

    <style type="text/css">
    <!--
    a:link {
     color: #000000;
     text-decoration: none;
    }
    a:visited {
     color: #000000;
     text-decoration: none;
    }
    a:hover {
     color: #FF0000;
     text-decoration: underline;
    }
    -->
    </style>