html 列表循环滚动,动态初始化字段数据

html

复制代码
<div class="layui-row">
                <div class="layui-col-md4">
                    <div class="boxall">
                        <div class="alltitle">超时菜品排行</div>
                        <div class="marquee-container">
                            <div class="scroll-wrapper">
                                <table>
                                    <thead>
                                        <tr>
                                            <th>排序</th>
                                            <th>菜品名称</th>
                                            <th>次数</th>
                                            <th>KDS</th>
                                        </tr>
                                    </thead>
                                </table>
                                <div class="scroll-wrapper">
                                    <div class="scroll-content">
                                        <table>
                                            <tbody id="tbody_csph">
                                               
                                            </tbody>
                                        </table>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="boxfoot"></div>
                    </div>
                </div>

<tbody id="tbody_csph">

css 滚动代码

复制代码
/*滚动表格实现*/

.marquee-container {
    width: 100%;
    margin: 30px auto;
    border: 0px solid #ccc;
    overflow: hidden;
    position: relative;
}

.scroll-wrapper {
    height: 400px;
    overflow: hidden;
    position: relative;
}

table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

th {
    position: sticky;
    top: 0;
    background: rgba(187, 25, 25, 0.8); /* 最后一位是透明度 */
    color: rgb(234, 235, 243);
    padding: 15px;
    text-align: center;
    z-index: 2;
}

td {
    padding: 12px;
    text-align: center;
    border-bottom: 0px solid #ecf0f1;
    /* background: rgba(187, 25, 25, 0.8); 最后一位是透明度 */
}

tr:nth-child(even) {
    background-color: #0d59a5;
}

/* 自动滚动动画 */
@keyframes autoScroll {
    0% { transform: translateY(0); }
    100% { transform: translateY(-100%); }
}

.scroll-content {
    animation: autoScroll 15s linear infinite;
}

.scroll-content:hover {
    animation-play-state: paused;
}

js

复制代码
function loadcsph() {
            var formData = <?php echo json_encode($formData, JSON_UNESCAPED_UNICODE); ?>; //Don't forget the extra semicolon!;

            const now = new Date();

            const year = now.getFullYear();
            const month = ('0' + (now.getMonth() + 1)).slice(-2);
            const day = ('0' + now.getDate()).slice(-2);
            const hours = ('0' + now.getHours()).slice(-2);
            const minutes = ('0' + now.getMinutes()).slice(-2);
            const seconds = ('0' + now.getSeconds()).slice(-2);

            const formattedTime = year +'-' + month +'-' + day ;

            formData.expFromDate = formattedTime;
            formData.expToDate = formattedTime;
            formData.isfee = 0;
            formData.uCloudID = formData.uCurCloudID;

            layui.use(['jquery', 'common'], function () {
                common = layui.common;
                const $ = layui.$;
                $.ajax({
                    type: "POST",
                    url: "/report/CxtCSRanking/",
                    data: formData,
                    dataType: "json",
                    async: true,
                    success: function (data) {
                        if (data.code == 10000) {
                            renderData(data.data.dbData);
                        }
                    
                    }
                });

            });
        };


   // 渲染表格
   function renderData(data) {
        const tbody = document.getElementById('tbody_csph');
        const fragment = document.createDocumentFragment();
        
        // 清空现有内容
        tbody.innerHTML = '';
        
        // 创建新行
        data.forEach(item => {
            const tr = document.createElement('tr');
            tr.innerHTML = `
                <td>${item.RowNo}</td>
                <td>${item.DishName}</td>
                <td>${item.qty}</td>
                <td>${item.jq}</td>
            `;
            fragment.appendChild(tr);
        });
        
        // 克隆数据实现无缝滚动
        // fragment.appendChild(fragment.cloneNode(true));
        tbody.appendChild(fragment);
    };
相关推荐
wuhen_n5 分钟前
JavaScript链表与双向链表实现:理解数组与链表的差异
前端·javascript
wuhen_n9 分钟前
JavaScript数据结构深度解析:栈、队列与树的实现与应用
前端·javascript
我是一只puppy15 分钟前
使用AI进行代码审查
javascript·人工智能·git·安全·源代码管理
颜酱15 分钟前
从二叉树到衍生结构:5种高频树结构原理+解析
javascript·后端·算法
狗哥哥30 分钟前
微前端路由设计方案 & 子应用管理保活
前端·架构
前端大卫1 小时前
Vue3 + Element-Plus 自定义虚拟表格滚动实现方案【附源码】
前端
却尘1 小时前
Next.js 请求最佳实践 - vercel 2026一月发布指南
前端·react.js·next.js
ccnocare1 小时前
浅浅看一下设计模式
前端
Lee川1 小时前
🎬 从标签到屏幕:揭秘现代网页构建与适配之道
前端·面试
Ticnix2 小时前
ECharts初始化、销毁、resize 适配组件封装(含完整封装代码)
前端·echarts