在新浪微博中选中一段文子,就会出现新浪的吉祥物标志提示转发选中的文字到微博,请问大侠们这个功能怎么实现的
说好了 100分全给你!!!!!
100分全给你!!!!!!!
100分全给你!!!!!!!

解决方案 »

  1.   

    var r = document.body.createTextRange();
    r.findText("text here");
    r.select();TextRange.setEndPoint(sType, oTextRange)
    楼主看看这个TextRange对象。
      

  2.   

    五、实践——选中文字分享到微博组件(原生JavaScript版与jQuery插件版)效果如下图所示选中文字后则在右下角显示微博分享按钮(来源于新浪微博官方),点击后打开分享窗口,自动将选中文字作为内容。如需分享页面图片,可在调用时修改选项即可。今晚跟朋友吃饭比较久,所以没时间写jQuery插件版了,先提供原生JavaScript组件,下载地址:http://momomolice.com/demo/scripts/201106selectshare.js。共包含两个函数:select()和share()。1、select(o, fn1, fn2)说明参数:①object o:必选,响应选择事件的DOM对象,例如文章正文。②function fn1(sText,target,mouseP):必选,当选中文字非空时调用的处理函数,有3个参数,第一个参数sText是选中的文字内容,第二个 target是触发mouseup事件的DOM元素,第三个是触发mouseup事件时鼠标的坐标。③function fn2():可选,当选中文字为空时调用的处理函数,无参数。2、share(o, opt, fea)说明参数:①object o:必选,代表分享按钮的DOM节点。②object opt:可选,针对分享的微博内容的选项,具体可看源js文件。③object fea:可选,fea即features,是window.open()函数的参数,用于指定打开窗口的各种属性,具体的默认值可看源js文件。本站调用代码展示:1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14

    window.onload = function(){
        var content = document.getElementById("content");
        var sina = document.getElementById("weiboshare");
        select(content, function(txt, tar, mouseP){
            sina.style.left = mouseP.x + 1 + "px";
            sina.style.top = mouseP.y + "px";
            sina.style.display = "block";
            share(sina, {
                title: txt
            });
        }, function(){
            sina.style.display = "none";
        });
    }3、使用方法在网页中加载该JavaScript文件,按照上面1、2点的说明进行调用。另外将微博按钮的HTML代码放在<body>结束标签之前,作为body的根节点。按钮HTML:<a style=”display:none;” id=”weiboshare” title=”分享到新浪微博”  href=”#”>&nbsp;</a>将微博按钮的CSS添加到样式表中:1
    2
    3
    4
    5
    6
    7

    #weiboshare{
        width:32px;
        height:32px;
        position: absolute;
        background: url(http://momomolice.com/wordpress/wp-content/themes/cyan/images/sina.png) no-repeat;
        text-decoration: none;
    }整个组件就是这样,其中两个函数都可以单独用于其他操作。起初本想将分享微博的新窗口变成一个弹出层,这样就无需离开本网页,更加便捷,但无奈新浪在分享微博页面加了限制,无法使用iframe,所以只能在新窗口中分享微博了。各位如若在使用中发现什么问题,或以上文字表述得令你难以理解,均可随时与我联系。原生JavaScript组件下载:http://momomolice.com/demo/scripts/201106selectshare.js
      

  3.   

    要获取一个文本范围对象,请对 body, button 或 textArea 元素或带有 TYPE 文本的 input 元素应用 createTextRange 方法。
      

  4.   

    其实没什么,就是你选中一段文字后,触发js事件,然后在这个事件里面弹出div或者什么的,显示一个和用户交互的层:比如问你是否要转发到xx。然后这个层里面可能是一些表单提交或者超链接提交。
      

  5.   

    2L的图片没有显示,楼主看下这个:http://momomolice.com/wordpress/archives/420.html
      

  6.   

    var r = document.body.createTextRange();
    r.findText("text here");
    r.select();TextRange.setEndPoint(sType, oTextRange)
    楼主看看这个TextRange对象。
     
    也有很多站长之家是写好的东西,可以直接拿过来用的。
    可以分享到空间,微博,人人网等等等等总之,自己开发也可以,用别人的也行祝贺楼主。