使用jQuery在项目的动态“列表”中维护固定数量的项目

时间:2011-10-24 09:10:06

标签: jquery

我正在尝试编写一个小型演示,它将在列表中维护固定数量的项目,并不断更新。

这是我第一次尝试使用jQuery,所以如果我能改进代码(几乎可以肯定!),我会很感激,并且,我仍然坚持最后一个函数 truncateItems()< / em> 并希望获得有关如何实施它的一些帮助。

这是我到目前为止所写的内容:

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
</head>
<body>
    <div>
       <div id="container"></div>
    </div>
</body>
<script type="text/javascript">
/* <![CDATA[ */
var maxitems = 10;  // maximum number of items in container

function generateItems(){
    var min = 0;
    var max = 10;
    var items = '';

    var randnum = Math.floor(Math.random() * (max - min + 1)) + min;

    for (i=0; i < randnum; i++){
        if (i) 
            item += '\n<div class="item">Item number: ' + i + '</div>';
        else
            item = '<div class="item">Item number: ' + i + '</div>';
    }

    addItems(items);
    truncateItems(items);

    window.setTimeout(generateItems, 1000)
}

function addItems(items){
    return items + '\n' + $("#container").text(); 
}

function truncateItems(items){
    //Need to return the first N elements
    //Need to either parse items or iterate over them whilst building a new string ? ...
}


$(document).ready(function(){
    window.setTimeout(generateItems, 5000); // wait for 5 secs before starting updates
});

/*]]> */
</script>
</html>

如果我想要做的事情从上面的代码中看不清楚,那就是我正在尝试做的事情:

  1. 生成随机数量的项目
  2. 更新项目的“列表”(在id为'container'的元素中保存)。应该进行更新,以便在列表中的旧项目之前放置最新生成的数据(因此在视觉上,它们显示在“顶部”)
  3. 确保id为'container'的元素随时不超过10个项目 - 只有LATEST(即TOPMOST)10项留在'list'中

1 个答案:

答案 0 :(得分:1)

不确定您要找的是什么,但请尝试:http://jsfiddle.net/x36Bm/1/