1

我一直在摆弄这个几个小时,只是不能把它弄好。首先,我的网站已经在使用 Prototytpe 和 Scriptaculous,而且要进行更改需要很长时间。

基本上我是在实现类似于 jQuery Cycle 插件的幻灯片效果之后。我已经写了大部分但无法克服这个障碍:

我需要用户能够按下一个控制按钮,该按钮将跳过他们选择的幻灯片。我的问题是,如果正在运行淡入淡出/出现效果,则会导致重叠。

我正在使用队列,它们在自己的范围内。我看到的问题是一张幻灯片上的淡入淡出效果和下一张幻灯片上的出现效果是独立的功能。这意味着如果用户在动画处于淡入淡出和出现之间时单击控制按钮移动到另一张幻灯片,则下一个循环将自己插入这两个效果之间的队列中。默认是追加到现有队列的末尾,应该没问题。但是如果在实例化新的淡入淡出时没有添加外观,那么队列就会混乱。

我可以做到,所以如果动画生效,那么什么都不会发生,但这不是我想要的效果。我希望能够单击一张幻灯片,并且无论发生什么都可以有效地停止并出现下一张幻灯片。

这是我所追求的一个例子:http ://www.zendesk.com/

如果这没有意义,我很抱歉。很难解释。

4

2 回答 2

0

我昨晚设法解决了自己的问题。

我已经尝试过了,但无法让它正常工作。我所做的只是添加了一个标志变量,如果任何动画正在运行,则该变量为真(var running = true; [or false])

如果用户单击寻呼机按钮来移动幻灯片(假设从幻灯片 1 到幻灯片 4),并且如果幻灯片已经在移动(然后 var running == true),则代码会在系统中找到所有排队的效果,删除它们,然后隐藏所有幻灯片。然后它只是按照用户的要求开始一个新的循环到幻灯片 4。

无论您现在单击寻呼机按钮的速度有多快,它都能无缝运行。:)

于 2010-02-14T11:36:53.673 回答
0

如果您在 lib 中找不到任何内容,则可以使用 DOM 和一些 JS,例如在这个问题中:如何使用 Javascript 使某些内容在页面上缓慢显示?

于 2010-02-13T15:58:57.637 回答