无限水平滚动分区

时间:2011-07-31 13:42:26

标签: javascript jquery

我需要有一个div,当你将鼠标进一步移动到div的右边或左边时,它会水平滚动。

我发现Smooth Div Scroll插件(http://www.smoothdivscroll.com/)非常接近我的需要。但是,这有几个问题。

  1. 我需要能够使滚动元素从设定位置开始(即左:-340px)。此插件仅允许您设置起始元素,而不是实际位置。

  2. 我需要滚动元素是无限的。所以,如果我向右滚动,当它到达结尾时,它应该继续向右,并从头开始重复元素。

  3. 如果有人可以帮我找到这些项目的解决方案,或者至少指出我正确的方向,我会非常感激。

1 个答案:

答案 0 :(得分:2)

  1. 基本上,您可以将autoScrollDirection选项设置为endlessloopright,它会不断自动滚动到右侧;但是当您尝试手动滚动窗口时,它会在结束时停止。我认为需要修改插件代码才能使手动滚动连续滚动。

  2. 您可以使用插件的API设置更改滚动条的位置。试试这个:

    // Do not include "px" and this number should be positive
    var position = "400";
    $('#makeMeScrollable')
      .data('startingPosition', position)
      .data('scrollXPos', position)
      .smoothDivScroll('recalculateScrollableArea');
    

    以下a demo显示了它的实际效果。但是有一个问题,如果您使用上面的enlessloopright选项,每次调用此函数时位置都会更改,因为内容已重新排列。