Jquery实现仿腾讯微博发表广播

  前言: 由于这几天在学习Jquery的一些知识,比以前的感觉就是Jquery太强大了,很多很简单的功能以前在JavaScript要写几十行的代码而在Jquery中只用几行代码就搞定了,所以我决定好好学习学习Jquery,支持我吧,呵呵,这几天的学习Jquey使我感觉到其实Jquery的使用并不是很难,就我感觉Jquery只要把选择器学的差不多,其他的基本都可以迎刃而解,多了解一些方法,事件等等。所以我在这里实现了一个Jquery实现仿腾讯微薄的广播发表。

1. 首先新建HTML页面和介绍我要实现什么功能

  (1) 新建HTML页面如下

  (2)第一个功能,当鼠标滑动到广播图片上面的话会变成另一副颜色浅点的图片,离开的时候恢复原始状态

  (3)第二个功能,当往输入文字的框里面输入文字的时候没输入一个字,底下提示字数的地方减1,如果超过的话,将提示用户超过了多少字

  (4)第三个功能,单击话题按钮,如果文本框为空的话将输入#请输入话题信息#,并且请输入话题信息高亮显示,如果文本框不为空的话就什么都不输入

  (5)第四个功能,当单击朋友的话会在底下生成一个层,显示用户的朋友,当用户单击朋友的时候就会将名字显示在文本框中

  (6)第五个功能,当用户单击表情的时候,会显示QQ的常用表情,然后用户可以选择表情单击显示在文本框中,这个和第四个功能基本上一样,下面一个一个的功能说以下

2.第一个功能

  (1) 功能展示图

    由于这个只是一个简单的滑动效果,所以截图看起来不明显,就只贴代码了

  (2) 代码

代码如下:

    //实现图片的移动上去和下来的变化反应
    $("#sendBox :button.sendBtn").mouseover(function () {
     $(this).css("backgroundPosition", "0 -196px");
    }).mouseout(function () {
     $(this).css("backgroundPosition", "-117px -165px");
    });

3.第二个功能

  (1) 功能截图

    

  (2) 代码

代码如下:

    //实现输入字数的变化
    $("#msgTxt").change(function () {
  var world = $("#msgTxt").val();
   var length = 140 - world.length;
  if (length < 0) {
   $("#sendBox span.countTxt").html("您已经超出了<em style='color:#E56C0A;'>" + Math.abs(length) + "</em>个字");
   }else {
  $("#sendBox span.countTxt").html("您还能输入<em>" + length + "</em>字");
   }
   });
   setInterval(function () {
  $("#msgTxt").change();
   }, 20);

4.第三个功能

  (1)功能截图

    

  (2)代码

代码如下:

//确认输出的信息的文字(请输入话题信息显示红色)
     /*
     为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) {
               alert('aaaaaaaa');
               curObj.selectionStart = start;
               curObj.selectionEnd = end;
          }
      };
      //单击话题输出#请输入话题信息#
      $("#funBox a.creatNew").click(function () {
         if ($.trim($("#msgTxt").val()).length == 0) {
            $("#msgTxt").val("#请输入话题信息#").selectRange(1, 8);
         }
      });

5.第四个功能

  (1)功能截图

    

  (2)代码

代码如下:

//实现单击朋友按钮的时候显示出朋友的信息
     var friendList = ["代忠", "小猛", "任首龙", "戴伟", "玛利亚", "韩迎龙", "盛敬恒", "飞飞", "小贤", "元芳"];
     $("#funBox a.atSome").click(function () {
         //在上面定义id为level的div层是position:absolution
         $("<div id='level'><ul id='ul' style='margin:0;padding:0;list-style-type:none'></ul></div>").appendTo("#funBox");
         //使用$.each循环遍历数组的值加入到层中
         if ($("#level").text() == "") {
              $.each(friendList, function () {
                //遍历给层中加入li样式变换
                $("<li>@" + this + "</li>").css("cursor", "pointer").mouseover(function () {
                $(this).css("backgroundColor", "yellow").siblings().css("backgroundColor", "white");
             }).appendTo($("#ul")).click(function () {
             //实现单击样式的时候讲值写入到
            $("#msgTxt").val($("#msgTxt").val() + $(this).text());
           })
        })
      };
    //如何判断一个用户是否点击了一个按钮
     $("#level").mouseleave(function () {
         $("#level").remove();
     })
      //摆放创建好的模块的位置
      $("#level").css("top", $(this).offset().top + $(this).height + "px").css("left", $(this).offset().left + "px");
    });

6.第五个功能

  (1)功能截图

    

  (2)代码

代码如下:

  //实现QQ表情的功能
     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 a.insertFace").click(function () {
     $("<div id='Userfaces'></div>").appendTo("#funBox");
     $.each(userFaces, function (key, value) {
        $("<img src='faces/" + key + "' title=" + value + ">").css("cursor", "pointer").appendTo("#Userfaces").click(function () {
      $("#msgTxt").val($("#msgTxt").val() + "[" + $(this).attr("title") + "]");
     });
   });
  //和上面的一样,如何判断一个用户是否单击了一个按钮
   $("#Userfaces").mouseleave(function () {
        $("#Userfaces").remove();
    });
    //摆放位置
   $("#Userfaces").css("top", $(this).offset().top + $(this).height + "px").css("left", $(this).offset().left + "px");
});

好了该有的功能都有了,美化的事情,小伙伴们自己来吧

(0)

相关推荐

  • JS实现模仿微博发布效果实例代码

    效果: 思路: 利用多功能浮动运动框架实现微博效果,首先,将textarea中的属性添加到新创建的li里面然后,再将li添加到ul里面,再利用浮动运动框架将数据动态的显示出来. 代码: 复制代码 代码如下: <head runat="server">    <title></title>    <style type="text/css">        *        {            margin: 0;

  • js仿百度贴吧验证码特效实例代码

    今天看到有百度验证码挺有意思的,就把它仿下来了. 利用JS实现当选择满4个后自动对比,本文中采用静态对比的方法看你是否全部选择对.然后提示[答案正确!]或[答案错误!], 以后有空再去做成程序,先分享给大家! 效果图如下: 源代码如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tran

  • Jquery与JS两种方法仿twitter/新浪微博 高度自适应无缝滚动实现代码

    首先是Jquery 无标题文档 $(function(){ var scrtime; $("#con").hover(function(){ clearInterval(scrtime); },function(){ scrtime = setInterval(function(){ var $ul = $("#con ul"); var liHeight = $ul.find("li:last").height(); $ul.animate({

  • jquery实现textarea输入字符控制(仿微博输入控制字符)

    效果图如下: JQUERY 代码: 复制代码 代码如下: var text=$(".release textarea").val();//获取输入框的值 var counter=text.length; //获取输入框的值 $("#numtj em").text(500-counter); $(document).keyup(function() { var text=$(".release textarea").val(); var count

  • python通过正则查找微博@(at)用户的方法

    本文实例讲述了python通过正则查找微博@(at)用户的方法.分享给大家供大家参考.具体如下: 这段代码用到了python正则的findall方法,查找所有被@的用户,使用数组形式返回用户昵称 import re users = re.findall(r'@([\u4e00-\u9fa5\w\-]+)','nihao @dfugo @jb51 haha') print(users) 返回结果如下: ['dfugo', 'jb51'] 希望本文所述对大家的Python程序设计有所帮助.

  • 简单易用的基于jQuery版仿新浪微博向下滚动效果(附DEMO)

    简单易用的jQuery 写的仿新浪微博 向下滚动效果 $(function(){ var scrtime; $("#con").hover(function(){ clearInterval(scrtime); },function(){ scrtime = setInterval(function(){ var $ul = $("#con ul"); var liHeight = $ul.find("li:last").height(); $u

  • JS 仿腾讯发表微博的效果代码

    最近2天研究了下 腾讯发表微博的效果 特此来分享下,效果如下: 在此分享前 来谈谈本人编写代码的习惯,很多人会问我既然用的是jquery框架 为什么写的组件不用Jquery那种形式?我当时回答的是:每个人编写代码有每个人的习惯.但是我更想表达的是:这种编码个人觉得 有一个很大的优点,我不是非常依赖于Jquery框架,因为不同的公司有不同的框架 比如在淘宝用的kissy框架 在支付宝用的是支付宝框架 在百度用的是百度框架 在腾讯有腾讯的前端js框架 假如我的编写代码太依赖于jquery 那假如其他

  • 仿新浪微博登陆邮箱提示效果的js代码

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8

  • 通过Jscript中@cc_on 语句识别IE浏览器及版本的代码

    激活条件编译支持. @cc_on 备注 @cc_on 语句激活脚本引擎中的条件编译. 强烈推荐在注释中使用 @cc_on 语句,以使不支持条件编译的浏览器将您的脚本视为有效语法而接受它: /*@cc_on*/ // The remainder of the script.或者,在注释外的一个 @if 或 @set 语句也将激活条件编译. 要求 版本 3 请参见 参考 @if...@elif...@else...@end 语句 @set 语句 复制代码 代码如下: /*@cc_on @if (@_

  • 仿微博字符限制效果实现代码

    这是初始状态 输入文字变成这样,这里会区分圆角半角,2个半角的文字算一个. 这个是超出的样子 如果超出了点击提交,会有红色闪动提示 好了,效果就是这样子,都是js的..用的话,记得加个jq文件过来.. 这里是超出只有提示,还可以超出以后截掉多余的..不过公司项目不用,说是体验不好~~~ 复制代码 代码如下: var oH2 = $("#spetit_word");//提示文字 var oTextarea = $("#p_qa_content");//输入框 var

  • js完美实现@提到好友特效(兼容各大浏览器)

    要求 1.输入@时,弹出匹配的好友菜单 2.光标进入包含有"@好友"的标签时,弹出菜单 3.按backspace删除时,如果光标前面是包含有"@好友"的标签,弹出菜单 4.兼容ie,firefox. 具体做法 针对要求一,很自然的会想到对输入框绑定事件.这里要绑定mousedown,而不是mouseup.因为如果是mouseup的话,用event.preventDefault()是无法阻止键盘输入@的.另外,这里在事件回调中用return false也是起不了作用的

随机推荐