jQuery动画制作幻灯片图像循环在同一个方向上迭代
jQuery animate - making slideshow image loop iterately in the same direction
我想用jQuery制作自己的幻灯片。在这里,我被滑块图像的方向卡住了。我希望它只循环一个方向(从右到左)。请参阅下面的代码:
HTML:
<div class="flash-banner">
<ul>
<li>
<img src="img/flash-banner.jpg" alt="Black glass banner " />
</li>
<li>
<img src="img/flash-banner-contact.jpg" alt="Black glass banner " />
</li>
<li>
<img src="img/flash-banner-our-work.jpg" alt="Black glass banner " />
</li>
</ul>
</div>
JavaScript:
$(document).ready( function ( e ) {
slideshow( 6000 );
});
function slideshow( speed ) {
// Get width from image
$pic = $('.flash-banner ul li img')[0];
$width = $pic.width;
// Count the total number of children of UL
$count = $('.flash-banner ul').children().length;
// Set width to UL
var $ul = $width * $count;
$('.flash-banner ul').css('width', $ul);
var i = 1;
setInterval( function ( e ) {
if ( i > $count - 1 ) {
// I think the problem is here, but I can't fix it
i = 0;
var b = 0;
} else {
var b = $width * i;
}
console.log( b );
$element = $('.flash-banner ul');
$element.animate(
{'margin-left': -b },
{ duration: speed },
{ delay: speed }
);
i++;
}, speed );
}
我还在http://jsfiddle.net/FzDtD/1/
使用clearInterval()
停止动画,而不是将i
重置为0。
如果要重新循环动画,请调用.stop()
停止它,修复css将横幅移回原始位置,然后再次调用动画函数。
jsfiddle此处
或者,您可以尝试停止动画并将所有值重置为初始状态,但我发现这有时会变得很混乱,因为您需要手动确保重置所有变量才能正常工作。
相关文章:
- ng映射方向备选方案
- RubyonRails——构建交互式接口应该朝哪个方向发展
- 需要帮助谷歌地图方向面板在FancyBox中显示
- 在同一个服务工作者中处理service-worker.js有任何影响吗
- 为什么 .focus() 不起作用,而 .css(“color”,“red”) 在同一个选择器上起作用
- 在D3.js中,有没有任何方法可以将x和y方向上的滚动事件绑定到平移svg
- 在同一个javascript事件处理程序中调用不同的函数
- 我怎样才能知道用户滑动的方向
- 按下一个HTML按钮,该按钮使用一个功能在同一个新窗口中打开URL
- 单击和dblclick在同一个html上传递不同的parentNodes.为什么?
- JSON.stringify和Object.keys在同一个对象上产生不同的结果
- 在同一个圆环图中使用不同的数据
- 使用谷歌地图API和phonegap显示当前位置+方向
- 回流:让多个组件访问同一个Store
- 用真或假初始化变量是否在 Javascript 中建立了内容的方向
- 带有自定义标记的谷歌地图方向APIv3
- 在角度方向的元素之前插入
- 更改D3方向力图中箭头标记的方向
- 如何限制同一个字符连续使用
- jQuery动画制作幻灯片图像循环在同一个方向上迭代