表行不自动滚动.脚本1滚动,脚本2不滚动.为什么?

DCJ*_*nes 8 jquery

我删除了我的第一个问题并重新编写了更多细节和添加jSfiddle domos.

我有一个脚本运行查询并返回数据,然后填充表.表中的行自动滚动循环.所有这一切都很好,并通过使用以下代码完成.但是,我需要做的是显示来自JSON调用的相同数据,从而启用自动屏幕更新,而无需刷新整个页面.我 SCRIPT 2中有这个工作,但我无法工作的是自动滚动,它在 SCRIPT 1 中起作用.

脚本1:这个工作

<table id='table_scroll'>
<section id="section">
do { 
<div class='container'>
    <div class='clientname-text'><?php echo $row_conf['ClientName'];?></div>
    <div class='roomname-text'><?php echo $row_conf['RoomName'];?></div>
    <div class='time-text'><?php echo date("H:i", strtotime($row_conf['RoomFromTime'])) . " - " . date("H:i", strtotime($row_conf['RoomToTime']));?></div>
</div>
} while ($row_conf = mysqli_fetch_assoc($conf));  
</section>
</table>


$.fn.infiniteScrollUp=function(){
    var self=this,conf=self.children()
    setInterval(function(){
    conf.slice(10).hide();
        conf.filter(':hidden').eq(0).slideDown()
        conf.eq(0).slideUp(6000, "linear",function(){
        $(this).appendTo(self);
    conf=self.children();
      });
    },100)
    return this;
}


$(function(){
    $('section').infiniteScrollUp()
})
Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/Blackbox/b2dv6w3w/11/

我现在想要使用通过JSON调用重新调整的数据来动态创建表.我已经使用以下代码完成了此操作.

脚本2 这不是 K,有人能看出原因吗?

<table id='table_scroll'>
<section id="section"></section>
</table>

$(document).ready(function() {
    function get_data() {
        $.getJSON("get_data_logos.php", function(json){
            json = json[0].data;
            var tr ;
            $('table').html("");
            for (var i = 0; i < json.length; i++) {
                tr = $('<tr/>');
                tr.css("border-bottom","2px solid #FFF");
                tr.append("<td width='33%'><div class='clientname-text'>" + json[i].ClientName + "</div></td>");
                tr.append("<td width='33%'><div class='roomname-text'>" + json[i].RoomName + "</div></td>");
                tr.append("<td width='33%'><div class='time-text'>" + json[i].RoomFromTime + " - " + json[i].RoomToTime + "</div></td>");
                $('table').append(tr);
            }
        });
    }
get_data();
setInterval(get_data,60000)
});

$.fn.infiniteScrollUp=function(){
    var self=this,conf=self.children()
    setInterval(function(){
    conf.slice(10).hide();
        conf.filter(':hidden').eq(0).slideDown()
        conf.eq(0).slideUp(6000, "linear",function(){
        $(this).appendTo(self);
    conf=self.children();
      });
    },100)
    return this;
}


$(function(){
    $('section').infiniteScrollUp()
})
Run Code Online (Sandbox Code Playgroud)

我的问题是:我如何得到SCRIPT 2来处理滚动,就像在SCRIPT 1中一样.

https://jsfiddle.net/Blackbox/dsm3dg55/30/

再次,非常感谢你的时间.

Sta*_*avm 4

您没有在您发布的任何片段中使用该表。并且你的getdata()没有在任何地方定义。

我所做的就是将 JSON 对象转换为 HTML,其余代码保持不变: https: //jsfiddle.net/5k9wk6vj/

$(function(){

  let $section = $('section');
  let clients = json[0].data;

  //json to html
  $.each(clients, function (key, client) {
    $section.append(
       "<div class='container'>" +
        "<div class='clientname-text'>" + client.ClientName + "</div>" +
        "<div class='roomname-text'>" + client.RoomName + "</div>" +
        "<div class='time-text'>" + client.RoomFromTime + " - " + client.RoomToTime + "</div>" +
      "</div>");
  });

  //start scrolling
  $section.infiniteScrollUp();
}) 
Run Code Online (Sandbox Code Playgroud)

很可能可以使用 HTML 模板等来构建更清晰的 HTML,但这应该可行。