微博的几个小功能

 

主要是做这几个功能

    1、“广播”按钮的高亮显示;

    2、计算文本框中文字的个数;

    3、话题、朋友和表情;

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>腾讯微博</title>
    <style type="text/css">
        body {
            margin: 0px;
            background: url('img/wrapBg.jpg') no-repeat #EBF1F1;
        }

        #logo {
            margin: 30px 0 0 300px;
        }

        #myBody {
            width: 800px;
            height: 200px;
            border: 1px solid #000;
        }

        #myBdLeft {
            width: 590px;
            height: 100%;
            background: #fff;
            float: left;
        }

        #talkBox {
            text-align: left;
            margin: 0 0 0 25px;
        }

        #msgTxt {
            width: 540px;
            height: 80px;
            overflow: hidden;
            font-family: Tahoma, Arial;
            font-size: 14px;
            border: 1px solid gray;
        }

        #talkBox h2 {
            text-align: left;
            padding: 0px;
            margin: 0px;
            font: normal normal normal 18px/29px 'MicroSoft YaHei', SimHei;
        }

        #funBox {
            width: 540px;
        }

            #funBox a {
                color: #000;
                text-decoration: none;
                font-size: 14px;
            }

        .creatNew, .atSome, .insertFace, .uploadPic, .uploadVideo {
            background-position: -170px -33px;
            display: inline-block;
            height: 16px;
            padding-left: 18px;
        }

        .countTxt {
            color: #999;
            float: right;
            line-height: 33px;
            margin: 0 15px 0 0;
        }

            .countTxt em {
                font-family: Georgia, Tahoma, Arial;
                font-size: 26px;
                position: relative;
                top: -5px;
                vertical-align: middle;
            }

        .sendBtn {
            float: right;
            margin: 0 20px 0 0;
            padding: 0px;
            background: url(img/bg1.png) -117px -165px no-repeat;
            line-height: 33px;
            margin-left: 14px;
            height: 30px;
            width: 112px;
            border: 0px;
            cursor: pointer;
        }

        #btnCloFri {
            cursor: pointer;
        }

        #myBdRight {
            background: #CCEBF4;
            width: 210px;
            height: 100%;
            float: right;
        }
    </style>

    <script src="jquery-1.8.3.js"></script>

    <script type="text/javascript">

        //1。扩展jQuery
        $.fn.selectRange = function (start, end) {
            var curObj = $(this).get(0);
            if (!curObj) return;
            else if (curObj.setSelectionRange) {
                curObj.focus(); curObj.setSelectionRange(start, end);
            } /* WebKit */
            else if (curObj.createTextRange) {
                var range = curObj.createTextRange();
                range.collapse(true);
                range.moveEnd('character', end);
                range.moveStart('character', start);
                range.select();
            } /* IE */
            else if (curObj.selectionStart) {
                curObj.selectionStart = start;
                curObj.selectionEnd = end;
            }
        };

        $(function () {
            //第一个   设置按钮的高亮显示
            $('#sendBox .sendBtn').mouseover(function () {
                $(this).css('backgroundPosition', '0 -195px');
            }).mouseout(function () {
                $(this).css('backgroundPosition', '-117px -165px');
            });

            setInterval(function () {
                $('#msgTxt').change();
            }, 500);
            //第二个  计算文字的个数
            $('#msgTxt').change(function () {
                var len = 140 - $(this).val().length;
                if (len >= 0) {
                    $('#sendBox .countTxt').html('还能输入<em>' + len + '</em>个字');
                }
                else {
                    $('#sendBox .countTxt').html('已经超出了<em><font color="red" size="5">' + Math.abs(len) + '</font></em>个字');
                }
            });

            //第三个  话题
            $('#funBox .creatNew').click(function () {
                if ($('#msgTxt').val().length == 0) {
                    $('#msgTxt').val('#输入话题标题#').selectRange(1, 7);
                }
            });

            //第四个  功能
            var friendsList = ['小明', '凤姐', '卡卡西', '梅超风', '郭靖', '乔峰', '独孤求败'];

            $('#funBox .atSome').click(function () {

                //1、创建一个层
                if ($('#dv').length == 0) {
                    var dvObj = $('<div id="dv" style="border:1px blue solid; width:100px; backgroun-color:white; position:absolute;"></div>').appendTo($('body'));
                    dvObj.css('left', $(this).offset().left + 'px');
                    dvObj.css('top', $(this).offset().top + $(this).height() + 'px');
                }

                //2、创建关闭的span标签---浮动
                $('<span style="background-color:gray; cursor:pointer; float:right">关闭</span>').click(function () {
                    //删除层
                    $(this).parent().remove();
                }).appendTo(dvObj);

                //3、根据键值对创建列表li标签 ---  设置样式

                var ulObj = $('<ul style="clear:both; list-style-type:none; margin:0; padding:0;"></ul>').appendTo(dvObj);//创建ul添加到层中

                for (var i = 0; i < friendsList.length; i++) {
                    $('<li style="margin-bottom:5px; cursor:pointer;">@' + friendsList[i] + '</li>').mouseover(function () {
                        $(this).css('backgroundColor', 'yellow');
                    }).mouseout(function () {
                        $(this).css('backgroundColor', '');
                    }).click(function () {
                        if ($('#msgTxt').val().length == 0 || $('#msgTxt').val() == "#输入话题标题#") {
                            $('#msgTxt').val($(this).text()); //把li中的值显示到文本框中
                        }
                        else {
                            $("#msgTxt").val($('#msgTxt').val() + $(this).text());

                        }
                    }).appendTo(ulObj);
                }
            });


            //   显示表情
            var userFaces = { '0.gif': '微笑', '1.gif': '撇嘴', '2.gif': '色', '3.gif': '发呆', '4.gif': '得意', '5.gif': '流泪', '6.gif': '害羞', '7.gif': '闭嘴', '8.gif': '睡', '9.gif': '大哭', '10.gif': '尴尬', '11.gif': '发怒', '12.gif': '调皮', '13.gif': '呲牙', '14.gif': '惊讶', '15.gif': '难过', '16.gif': '酷', '17.gif': '冷汗', '18.gif': '抓狂', '19.gif': '吐', '20.gif': '偷笑', '21.gif': '可爱', '22.gif': '白眼', '23.gif': '傲慢', '24.gif': '饥饿', '25.gif': '困', '26.gif': '惊恐', '27.gif': '流汗', '28.gif': '憨笑', '29.gif': '大兵', '30.gif': '奋斗', '31.gif': '咒骂', '32.gif': '疑问', '33.gif': '嘘', '34.gif': '晕', '35.gif': '折磨', '36.gif': '衰', '37.gif': '骷髅', '38.gif': '敲打', '39.gif': '再见', '40.gif': '擦汗', '41.gif': '抠鼻', '42.gif': '鼓掌', '43.gif': '糗大了', '44.gif': '坏笑', '45.gif': '左哼哼', '46.gif': '右哼哼', '47.gif': '哈欠', '48.gif': '鄙视', '49.gif': '委屈', '50.gif': '快哭了', '51.gif': '阴险', '52.gif': '亲亲', '53.gif': '吓', '54.gif': '可怜', '55.gif': '菜刀', '56.gif': '西瓜', '57.gif': '啤酒', '58.gif': '篮球 ', '59.gif': '乒乓', '60.gif': '咖啡', '61.gif': '饭', '62.gif': '猪头', '63.gif': '玫瑰', '64.gif': '凋谢', '65.gif': '示爱', '66.gif': '爱心', '67.gif': '心碎', '68.gif': '蛋糕', '69.gif': '闪电', '70.gif': '炸弹', '71.gif': '刀', '72.gif': '足球', '73.gif': '瓢虫', '74.gif': '便便', '75.gif': '月亮', '76.gif': '太阳', '77.gif': '礼物', '78.gif': '拥抱', '79.gif': '强', '80.gif': '弱', '81.gif': '握手', '82.gif': '胜利', '83.gif': '抱拳', '84.gif': '勾引', '85.gif': '拳头', '86.gif': '差劲', '87.gif': '爱你', '88.gif': 'NO', '89.gif': 'OK', '90.gif': '爱情', '91.gif': '飞吻', '92.gif': '跳跳', '93.gif': '发抖', '94.gif': '怄火', '95.gif': '转圈', '96.gif': '磕头', '97.gif': '回头', '98.gif': '跳绳', '99.gif': '挥手', '100.gif': '激动', '101.gif': '街舞', '102.gif': '献吻', '103.gif': '左太极', '104.gif': '右太极', '105.gif': '淡定', '106.gif': '晕', '107.gif': '不满', '108.gif': '睡觉', '109.gif': '小调皮', '110.gif': '咒骂', '111.gif': '发怒', '112.gif': '偷笑', '113.gif': '微笑', '114.gif': '震惊', '115.gif': '囧' };

            $('#funBox .insertFace').click(function () {

                //创建大层
                var dvBigObj = $('<div id="dv" style="width:370px; background-color:white;border:1px solid blue;position:absolute;"></div>').appendTo($('body'));

                dvBigObj.css('left', $(this).offset().left - 100 + 'px');
                dvBigObj.css('top', $(this).offset().top + $(this).height() + 'px');

                if (true) {

                }

                //创建两个span标签
                $('<span style="float">表情</span>').appendTo(dvBigObj);

                $('<span style="float:right;cursor:pointer; background-color:gray;">关闭</span>').click(function () {
                    $(this).parent().remove();
                }).appendTo(dvBigObj);
                //创建一个小层---装表情图片
                var dvimgObj = $('<div style="clear:both"></div>').appendTo(dvBigObj);//该层显示图片

                for (var key in userFaces) {

                    $('<img src="faces/' + key + '" title="' + userFaces[key] + '">').mouseover(function () {
                        $(this).css('cursor', 'pointer');
                    }).click(function () {
                        if ($('#msgTxt').val().length == 0 || $('#msgTxt').val() == '#输入话题标题#') {
                            $('#msgTxt').val('[' + $(this).attr('title') + ']')
                        }
                        else {
                            $('#msgTxt').val($('#msgTxt').val() + '[' + $(this).attr('title') + ']');
                        }
                    }).appendTo(dvimgObj);
                }
                //小表情注册单击事件
            });
        });
    </script>
</head>
<body>
    <img id="logo" src="img/b3_100901.png" alt="" />
    <center>
        <div id="myBody">
            <div id="myBdLeft">
                <div id="talkBox">
                    <h2>
                        <a>夏天来了,你懂得......</a>
                    </h2>
                    <textarea id="msgTxt"></textarea>
                    <div id="funBox">
                        <a href="javascript:void(0);" class="creatNew">话题</a> <a href="javascript:void(0);"
                                                                                 class="atSome">朋友</a> <a href="javascript:void(0);" class="insertFace">表情</a>
                        <a href="javascript:void(0);" class="uploadPic">照片</a> <a href="javascript:void(0);"
                                                                                  class="uploadVideo">视频</a>
                    </div>
                    <div id="sendBox">
                        <input type="button" class="sendBtn" value="" />
                        <span class="countTxt">还能输入<em>140</em>字</span>
                    </div>
                </div>
            </div>
            <div id="myBdRight">
            </div>
        </div>
    </center>
</body>
</html>

 

 

这是表情的展示效果

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在uniapp中实现微信小程序的分享功能,有几个步骤可以遵循。首先,在onLoad方法中使用wx.showShareMenu()方法,设置withShareTicket为true,将发送给朋友和分享到朋友圈两个按钮设置为可点击。具体代码如下所示: ```javascript onLoad() { wx.showShareMenu({ withShareTicket: true, menus: ["shareAppMessage", "shareTimeline"] }) } ``` 接下来,在App端的manifest.json文件中进行配置。打开manifest.json,进入App模块权限配置,勾选Share(分享)选项。然后按照文档的指引,具体配置微信、微博和QQ的参数。 在小程序端,可以通过两种方式进行分享。一种是通过右上角的胶囊分享,另一种是在页面中使用button标签,设置open-type为"share"实现分享。具体代码如下所示: ```javascript // 分享给朋友 onShareAppMessage(res) { if (res.from === 'button') { console.log(res.target) } let that = this; return { title: '这是标题', imageUrl: '这是描述', path: '/pages/goods_details/index?id=' + that.id, } }, // 分享到朋友圈 onShareTimeline() { let that = this; return { title: '这是标题', imageUrl: '这是描述', path: '/pages/goods_details/index?id=' + that.id, } } ``` 最后,在manifest.json的App SDK配置中,勾选微信消息及朋友圈,并填写相应的appid。如果需要在iOS平台使用,还需要配置通用链接。 以上就是实现uniapp微信小程序分享功能的主要步骤。通过设置wx.showShareMenu()方法、配置manifest.json文件和编写相应的分享函数,可以实现小程序的分享功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值