zoukankan      html  css  js  c++  java
  • 近期做前端在线聊天页面几个小知识点的总结

    1.按回车键进行消息的发送

    //全局监测回车键
        var sendMsg = function (event) {
          event = window.event || event;
          if (event.keyCode == 13) {//如果取到的键值是回车
            $scope.sendTextMessage($scope.currentUserId);//执行发送方法
          }
        };
        window.document.onkeydown = sendMsg;//当有键按下时执行函数
    

    2.聊天页面的滚动条始终在页面的最低端

    //实现滚动条始终在最底部
          $timeout(function () {
            $('#top').scrollTop($('#top')[0].scrollHeight);
          });
    

      至于为什么要加 $timeout  因为如果不加$timeout页面的滚动条会先滚动到最低端 然后页面数据在进行重新绘制之后 滚动条又出现上移的现象。主要是页面数据绘制的比较慢导致的。因为我的页面数据使用了ng-repeat 进行的数据绘制  可能需要时间长一点啊。其他地方使用的时候可以看情况而定。

    3.在页面上始终有个悬浮窗  不随页面的滚动而滚动

    <div id="divSuspended" class="scrollTop">
          <div class="lineHeightTop" ng-click="openNewWindow()" title="点击进入聊天页面">{{userCount || 0}}人在线</div>
          <div class="lineHeightBottom"><a ng-click="leave()" ng-class="{'red':isLeave,'':!isLeave}">离岗</a></div>
        </div>
    

      

    <script>
        var top1 = 60;/*初始值*/
        var elem = document.getElementById('divSuspended');
        elem.style.top = top1 + "px";
        window.onscroll = function () {/*鼠标滚动触发函数*/
          elem.style.top = top1 + parseInt(document.documentElement.scrollTop) + parseInt(document.body.scrollTop) + "px";
        };
    
      </script>
    

      如图所示:

  • 相关阅读:
    快速搭建一个本地的FTP服务器
    Node.js安装及环境配置之Windows篇
    在win10上安装oracle10g
    win10安装oracle11g客户端
    解决:Java source1.6不支持diamond运算符,请使用source 7或更高版本以启用diamond运算符
    idea 右侧 无 meven 菜单
    idea导入maven项目不能识别pom.xml文件解决办法
    PostgresSQL客户端pgAdmin4使用
    PostgreSQL 创建数据库
    PostgreSQL 数据类型
  • 原文地址:https://www.cnblogs.com/baizhanshi/p/5606073.html
Copyright © 2011-2022 走看看