当前位置: 首页 > news >正文

Layui继续学习

1、简单评论区代码:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>社区评论区</title>
    <link rel="stylesheet" href="https://cdn.staticfile.org/layui/2.6.8/css/layui.min.css">
</head>

<body>
    <div class="layui-container">
        <div class="layui-row">
            <div class="layui-col-md8">
                <div class="layui-card">
                    <div class="layui-card-header">评论区</div>
                    <div class="layui-card-body">
                        <ul class="layui-timeline" id="commentList">

                        </ul>
                    </div>
                </div>
            </div>
            <div class="layui-col-md4">
                <div class="layui-card">
                    <div class="layui-card-header">发表评论</div>
                    <div class="layui-card-body">
                        <form class="layui-form">
                            <div class="layui-form-item">
                                <textarea name="content" lay-verify="required" placeholder="请输入评论内容"
                                    class="layui-textarea"></textarea>
                            </div>
                            <div class="layui-form-item">
                                <button class="layui-btn" lay-submit lay-filter="comment">发表</button>
                            </div>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <script src="https://cdn.staticfile.org/layui/2.6.8/layui.min.js"></script>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

    <script>
        layui.use(['form', 'laytpl'], function () {
            var form = layui.form;
            var laytpl = layui.laytpl;
            var commentList = document.getElementById("commentList");

            // 模拟已有的评论数据
            var comments = [
                { username: '用户A', content: '这是第一条评论', time: '2022-01-01 12:00:00' },
                { username: '用户B', content: '这是第二条评论', time: '2022-01-02 12:00:00' },
                { username: '用户C', content: '这是第三条评论', time: '2022-01-03 12:00:00' },
            ];

            // 渲染评论列表
            function renderComments() {
                var getTpl = document.getElementById("commentTpl").innerHTML;
                laytpl(getTpl).render({ comments: comments }, function (html) {
                    commentList.innerHTML = html;
                });
            }

            renderComments();

            // 监听评论提交
            form.on('submit(comment)', function (data) {
                var comment = {
                    username: '当前登录用户',
                    content: data.field.content,
                    time: new Date().toLocaleString()
                };
                comments.push(comment);
                renderComments();

                // 清空输入框
                form.val('form-comment', { content: '' });
                return false;
            });
        });
    </script>

    <script type="text/html" id="commentTpl">
        {{# layui.each(d.comments, function(index, comment){ }}
        <li class="layui-timeline-item">
            <i class="layui-icon layui-timeline-axis"></i>
            <div class="layui-timeline-content layui-text">
                <h3 class="layui-timeline-title">{{ comment.username }} 评论于 {{ comment.time }}</h3>
                <p>{{ comment.content }}</p>
            </div>
        </li>
        {{# }); }}
    </script>
</body>

</html>

效果图:

代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="stylesheet" href="https://cdn.staticfile.org/layui/2.5.6/css/layui.css">
  <title>Layui新闻列表</title>
  <style>
      .layui-container {
        margin-top: 20px;
      }
      
      .layui-card-body {
        padding: 15px;
      }
      
      .layui-timeline-item {
        margin-bottom: 15px;
      }
      
      .layui-timeline-title {
        font-weight: bold;
        margin-bottom: 5px;
      }
      
      .layui-timeline-content {
        margin-left: 30px;
      }

  </style>
</head>
<body>
  <div class="layui-container">
    <div class="layui-row">
      <div class="layui-col-md8">
        <div class="layui-card">
          <div class="layui-card-header">新闻列表</div>
          <div class="layui-card-body">
            <ul class="layui-timeline" id="timeline"></ul>
          </div>
        </div>
      </div>
      <div class="layui-col-md4">
        <div class="layui-card">
          <div class="layui-card-header">新闻详情</div>
          <div class="layui-card-body" id="detail"></div>
        </div>
      </div>
    </div>
  </div>

  <script src="https://cdn.staticfile.org/layui/2.5.6/layui.js"></script>
  <script src="https://cdn.staticfile.org/jquery/3.4.1/jquery.min.js"></script>
  <script >
      layui.use(['layer', 'jquery'], function(){
        var layer = layui.layer;
        var $ = layui.jquery;
      
        // 模拟新闻数据
        var newsData = [
          {
            title: 'KPL职业联赛',
            content: '新闻内容1'
          },
          {
            title: '新闻标题2',
            content: '新闻内容2'
          },
          {
            title: '新闻标题3',
            content: '新闻内容3'
          }
        ];
      
        // 生成新闻列表
        function generateTimeline() {
          var timeline = $('#timeline');
          timeline.empty();
      
          for (var i = 0; i < newsData.length; i++) {
            var item = newsData[i];
            var html = '<li class="layui-timeline-item">' +
              '<i class="layui-icon layui-timeline-axis">&#xe63f;</i>' +
              '<div class="layui-timeline-content layui-text">' +
              '<h3 class="layui-timeline-title">' + item.title + '</h3>' +
              '<p>' + item.content + '</p>' +
              '</div>' +
              '</li>';
      
            timeline.append(html);
          }
        }
      
        // 显示新闻详情
        $('#timeline').on('click', '.layui-timeline-item', function() {
          var index = $(this).index();
          var detail = $('#detail');
          detail.empty();
      
          var html = '<h2>' + newsData[index].title + '</h2>' +
            '<p>' + newsData[index].content + '</p>';
      
          detail.append(html);
        });
      
        generateTimeline();
      });

  </script>
</body>
</html>

效果图:

http://www.lryc.cn/news/260044.html

相关文章:

  • react+datav+echarts实现可视化数据大屏
  • CSS新手入门笔记整理:CSS浮动布局
  • 微服务组件Sentinel的学习(1)
  • 小程序 -网络请求post/get
  • Elasticsearch 8.10之前同义词最佳实践
  • 芯知识 | 什么是OTP语音芯片?唯创知音WTN6xxx系列:低成本智能语音解决方案
  • Linux内核密钥环
  • web前端之正弦波浪动功能、repeat、calc
  • 使用工具 NVM来管理不同版本的 Node.js启动vue项目
  • Xcode编写基于C++的动态连接库(dylib)且用node-ffi-napi测试
  • WPF-UI HandyControl 简单介绍
  • golang学习笔记——数据结构进阶
  • TrustZone之总线请求
  • vue2+Echarts数据可视化 【帕累托图】
  • imazing 2.17.16中文版怎么备份iPhone手机照片
  • 05 python数据容器
  • 相机倾斜棋盘格标定全记录 vs200+opencv安装
  • QT- QT-lximagerEidtor图片编辑器
  • PyQt 如何通过连续点击托盘图标显示隐藏主窗口并且在主窗口隐藏时调整界面到托盘图标附近
  • 什么是纯净IP?如何判断IP地址的纯净度?有哪些干净IP推荐?
  • MySQL和Minio数据备份
  • 在Go中过滤范型集合:性能回顾
  • MATLAB 最小二乘直线拟合方法二 (36)
  • Python 实现:OCR在图片中提取文字(基于Gradio实现)
  • idea插件开发报错: ZipException opening “slf4j.jar“: zip END header not found
  • 【Linux】多线程编程
  • 【Mysql】InnoDB的表空间(九)
  • 【09】ES6:Set 和 Map 数据结构
  • Java通过documents4j和libreoffice把word转为pdf
  • 物联网时代的访问控制研究综述