XDL_NO.13 Node.js 实现评论功能

Node.js 实现评论功能

样式盖楼评论

我们根据网易的盖楼评论,来先实现盖楼的样式!

盖楼评论样式页面代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>盖楼评论样式</title>
    <style media="screen">
      .container{
        width: 400px;
        height: 600px;
        background-color: gray;
        margin:0 auto;
      }
      .container .comment {
        padding: 10px;
      }
      .container .comment .floor{
        width: 90%;
        height: auto;
        border: 1px solid red;
        margin:5px;
        text-indent:1em;
      }
    </style>
  </head>
  <body>
    <div class="container">
       <div class="comment">
         <div class="floor">
           <div class="floor">
             <div class="floor">
                 <div class="floor">
                    <p>楼主!</p>
                  </div>
                    <p>这里是1楼!</p>
               </div>
                 <p>这里是2楼!</p>
             </div>
            <p>这里是3楼!</p>
         </div>
         </div>
       </div>
    </div>
  </body>
</html>

盖楼原理,就是最新的一条评论会是最外面一层 div ,追加一条,就在原先的基础上再包裹一层 div!

效果图:

盖楼样式评论

实现,通过 ajax 来实现获取数据和添加!

MongoDB 数据库,json格式数据

先来模拟下,如何将json 评论数据提取后通过js的方式天加到页面中。

准备 json 数据,代码

var data = [
   {
       "plid": "1",
       "plName": "twitch",
       "pltime": "2016082301",
       "plcontent": "盖楼样式评论,真的好嘛 !"
   },
   {
       "plid": "2",
       "plName": "twitch",
       "pltime": "2016082302",
       "plcontent": "盖楼样式评论,一楼路过!"
   },
   {
       "plid": "3",
       "plName": "twitch",
       "pltime": "2016082303",
       "plcontent": "盖楼样式评论,二楼路过 !"
   },
   {
       "plid": "4",
       "plName": "twitch",
       "pltime": "2016082304",
       "plcontent": "盖楼样式评论,三楼路过 !"
   }
];

js代码,将json 数据进行包装填充到页面中去
根据样式例子的规律来写哦!

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>盖楼评论样式</title>
    <style media="screen">
      .container{
        width: 400px;
        height: 600px;
        background-color: gray;
        margin:0 auto;
      }
      .container .comment {
        padding: 10px;
      }
     .floor{
        width: 90%;
        height: auto;
        border: 1px solid red;
        margin:5px;
        text-indent:1em;
      }
    </style>
  </head>
  <body>
    <div class="container">
       <div id="comment">

       </div>
    </div>
    <script type="text/javascript">
      var data = [
         {
             "plid": "1",
             "plName": "twitch",
             "pltime": "2016082301",
             "plcontent": "盖楼样式评论,真的好嘛 !"
         },
         {
             "plid": "2",
             "plName": "twitch",
             "pltime": "2016082302",
             "plcontent": "盖楼样式评论,一楼路过!"
         },
         {
             "plid": "3",
             "plName": "twitch",
             "pltime": "2016082303",
             "plcontent": "盖楼样式评论,二楼路过 !"
         },
         {
             "plid": "4",
             "plName": "twitch",
             "pltime": "2016082304",
             "plcontent": "盖楼样式评论,三楼路过 !"
         }
      ];
      var result = "";
      result += '<div class="floor">';
      for(var i=1;i<data.length;i++){
        result += "<div id='fl"+ data[i].plid + "' class='floor'>";
      };
      for(var i=1;i<data.length;i++){
        result += "<p>"+ data[i].plcontent+ "</p></div>";
      };
      result += "<p>"+ data[0].plcontent+ "<P></div>";
      document.getElementById("comment").innerHTML = result;
    </script>
  </body>
</html>

这样前台效果实现了,接下就是后台的部分了!

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,950评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,191评论 4 61
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,679评论 1 92
  • 用了三四天时间,终于读完了整部的《亮剑》。 太多热血,也有太多唏嘘感慨。有很多话想说,但是不知道说什么,胸口像压着...
    97ada0251d0b阅读 3,301评论 0 0
  • 本来以为可以无知的走完这一生,确切的说原本以为生命还很长,很多事情明天再做也来得及,于是就有了今天对世界的无知,面...
    我爱小齐猫咪阅读 2,187评论 0 0