我用jQuery循环进行了幻灯片,但是我的计时器有问题。经过几个周期后,他们搞砸了。如何在一个函数和一个计时器中合并两个周期动画?

感谢您的任何帮助。

XHTML:

<div id="slideshow">
  <ul>
    <li>
      <div class="image"><img src="test.jpg" /></div>
      <div class="description">Some text goes here</div>
    </li>
    <li>
      <div class="image"><img src="test.jpg" /></div>
      <div class="description">Some text goes here</div>
    </li>
    <li>
      <div class="image"><img src="test.jpg" /></div>
      <div class="description">Some text goes here</div>
    </li>
  </ul>
</div>

jQuery:

var img = $(this).find('#slideshow div.image');
var desc = $(this).find('#slideshow div.description');
$('#slideshow ul').cycle({
    fx:    'scrollHorz', 
    speed:  'fast', 
    timeout: 5000,
    next:   '.next',
    pause: 1,
    slideExpr: img
});
$('#slideshow').cycle({
    fx:    'scrollVert', 
    speed:  'fast', 
    timeout: 5000,
    next:   '.next',
    pause: 1,
    slideExpr: desc
});
有帮助吗?

解决方案

我觉得你应该:

  1. 在时间处理问题上制作自己的自定义功能(一个相当简单的JS函数将可以解决问题)。
  2. 将周期中的“超时”属性设置为0,以免自动避免自动。
  3. 使用此形式的自定义功能中使用可用的命令“上prev”和“ next”:

$('#slideshow').cycle('next');

我在您的代码中看到了方法,要感谢您刚刚给我的好主意。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top