javascript - 如何使用 jquery 将动态元素列表水平滑入和滑出 div

标签 javascript jquery html css

我使用 div 容器作为窗口,使用 jquery 将水平 li 元素列表滑入和滑出 View 。

这是我到目前为止所拥有的: http://jsfiddle.net/TX5fJ/5/

它初始化一个包含 8 个元素的列表,并允许您在 div 窗口内左右滚动它们。它还具有将元素添加到列表末尾以及从列表开头删除元素的功能。

我正在尝试做的事情:

1) 将元素添加到列表末尾(元素不可见)

2) 向左滚动列表以使刚刚添加的元素可见(第一个元素移出 View )

3)从列表头部删除该元素(不再需要)

问题是删除第一项会导致整个列表向左移动。

如果我不删除第一个元素,它似乎可以工作。 (参见我的测试函数)

我对该解决方案的担忧是 ul 必须足够宽才能容纳所有潜在的元素。如果我不给它固定的宽度,它就不起作用。

所以我想我可以将其设置为 99999px 宽,并在测试按钮中使用当前方法。

有人有关于比当前更好的实现的想法吗?

谢谢。

最佳答案

从头部删除列表项后,您可以简单地重置列表的 margin-left 属性:

function RemoveItem() {
    $('#slider-items li').first().remove();
    $('#slider-items').css('marginLeft', 0);
}  

已更新fiddle .

关于javascript - 如何使用 jquery 将动态元素列表水平滑入和滑出 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10422960/

相关文章:

javascript - 想要将数组存储为 javascript map 中的值

html - 在我的网站上实现恒定的页眉/页脚?

javascript - 单击外部时关闭下拉菜单

javascript - 对于非实时网站/应用程序,node.js 是否过多?

javascript - 突出显示元素中的子字符串

javascript - 来自带有 jquery 的事件类的 html5 数据属性

php - 如何在php ajax mysql中不刷新页面的情况下获取下拉框中的列其他值

php - jQuery、PHP 和 AJAX 问题

javascript - 球从墙上弹起 - 暂停和恢复

javascript - TinyMCE 和 Bootstrap 模态——只工作一次