10 -选中内容分享


获得用户选中内容,判断是否分享

HTML结构

<p id="word1">
    此处省略一堆文字
</p>

<p id="word2">
    此处省略一堆文字
</p>
<div id="panel"></div>
<span id="sina"></span>

Css样式

<style>
        * {
            margin: 0;
            padding: 0;
            border: 0;
        }

        p {
            margin: 50px;
            width: 300px;
        }

        #panel {
            background-color: skyblue;
            width: 150px;
            color: orangered;
            position: absolute;
            display: none;
        }

        #sina {
            width: 26px;
            height: 26px;
            background: url("images/share.gif");
            position: absolute;
            display: none;
        }
</style>

Js代码

<script>
    window.onload = function () {
        var wordOne = document.getElementById('word1');
        var wordTwo = document.getElementById('word2');
        var panel = document.getElementById('panel');
        var sina = document.getElementById('sina');
        var selectedText = '';

        wordOne.onmouseup = function (event) {
            var event = event || window.event;
            selectedPanel(false);
        }
        wordTwo.onmouseup = function (event) {
            var event = event || window.event;
            selectedPanel(true);
        }

        function selectedPanel(isShare) {
            if (window.getSelection) {
                selectedText = window.getSelection();
                // alert(selectedText)
            }
            else {
                selectedText = document.selection.createRange().text.toString();
            }

            // 不分享到微博
            var share = sina;
            if (!isShare) {
                share = panel;
                share.innerHTML = selectedText;
            }
            if (selectedText != '') {
                share.style.display = 'block';
                share.style.left = event.clientX + 'px';
                share.style.top = event.clientY + 'px';
            }

            document.onmousedown = function (event) {
                var event = event || window.event;
                var targetId = event.target ? event.target.id : event.srcElement.id;
                if (targetId != 'panel') {
                    panel.style.display = 'none';
                }
                if (targetId != 'sina') {
                    sina.style.display = 'none';
                }
                else {
                    window.location.href = 'http://v.t.sina.com.cn/share/share.php?searchPic=false&title=' + selectedText + '&url=https://www.baidu.com';
                }
                window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
            }
        }


    }
</script>

特效展示

选中内容分享
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,833评论 25 708
  • 在线阅读 http://interview.poetries.top[http://interview.poetr...
    前端进阶之旅阅读 114,566评论 24 450
  • 假期状态!每次到了假期都会给自己提前安排学习计划。希望在假期里能够安静下来专注的学习。随着年终晚宴结束,紧凑...
    向阳影灵阅读 179评论 0 0
  • 区间覆盖问题数轴上有n个闭区间[ai, bi],选择尽量少的区间覆盖一条指定线段[s, t]。用贪心法解决这个问题...
    Gitfan阅读 3,367评论 0 0
  • 昆明是一座“去了又去”的城市。过去每年似乎总会出于不同的原因去上几次。 第一次去昆明,坐了二十多个小时的火车。到了...
    安静下来的胖子阅读 177评论 0 0