如何在scriptaculous中运行出现效果和淡入淡出效果?我需要它们在tandam中运行,这样就不会有其他影响

时间:2010-02-13 13:48:26

标签: javascript prototypejs slideshow scriptaculous

我已经花了好几个小时摆弄这个并且不能正确。首先我的网站已经使用Prototytpe和Scriptaculous,改变需要很长时间。

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

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

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

如果动画生效,我可以做到没有任何反应,但那不是我追求的效果。我希望能够点击幻灯片以及发生的任何事情以便有效地停止并显示下一张幻灯片。

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

对不起,如果这没有意义。这很难解释。

2 个答案:

答案 0 :(得分:0)

如果lib没有找到任何内容,你可以在这个问题中使用DOM和一些JS:How do you make something to appear slowly on a page using Javascript?

答案 1 :(得分:0)

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

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

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

现在点击寻呼机按钮的速度无关紧要,无缝工作。 :)