如何使用jQuery循环元素中的单个div

时间:2012-08-30 15:33:35

标签: javascript jquery animation

我试图看看以下是否可行:

single rotating div

我希望能够连续循环一个元素中的单个div [所以div的开头是在循环的同一个div的末尾。]

这不一定是现有的插件。如果可能的话,我宁愿不克隆div。 div的宽度将在循环之前通过javascript设置,但可能会少量调整。

我很感激任何想法!

2 个答案:

答案 0 :(得分:5)

jsBin demo

jQuery的:

$('.scroller').each(function(){
  $(this).find('img').clone().appendTo($(this));
});

(function move(){
  $('.scroller').scrollLeft(0).stop().animate({scrollLeft:310},800,'linear',move);
})();

HTML:

  <div class="scroller">
    <img src="" alt="" />
  </div>

CSS:

.scroller{
  width:310px;
  height:80px;
  white-space:nowrap;
  word-spacing:-1em;
  overflow:hidden;
  margin:30px;
}
.scroller img{
  display:inline; 
}

它只会克隆一次。比我的jQuery脚本将创建一个只与scrollLeft()元素属性一起玩的循环。

N.B:这只是一个简单的例子,你可以动态计算310px,但这是另一个故事,让我们保持简单。

答案 1 :(得分:0)

marquee插件怎么样?

Demo
Docs

请注意,演示中的第一个示例向左滚动,如果您将容器的宽度设置为相同的大小或小于您要滚动的内容,它将显示为流畅循环。