我正在使用JQuery循环为我的主页进行幻灯片放映。主要的想法是某些图像组出现在一起,所以我想同步间隔一些如何我有以下模式1-2-3 - > 1-4-3 - > 5-4-6 - > 1-4-3 - > 1-2-3 - > ...(想象我有图像1,2,3,4,5,6,例如1-2-3显示图像1和2和3一起出现,并且 - &gt ;显示过渡)。这是我的代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<style type="text/css">
pre { display:none }
#main h2 { text-align: center }
#right { cursor: pointer }
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script type="text/javascript" src="http://malsup.github.com/jquery.cycle.all.js"></script>
<script type="text/javascript">
$(function() {
// run the code in the markup!
$('#demos pre code').each(function() {
eval($(this).text());
});
});
</script>
</head>
<body>
<div id="main">
<div id="demos">
<div id="slider">
<div id="bxo" class="pics">
<img id="letter-b" src="01.jpg" width="300" height="330" />
<img id="veggi1" src="02.jpg" width="300" height="330" />
<img id="letter-o" src="03.jpg" width="300" height="330" />
</div>
<div id="bio" class="pics">
<img id="letter-b" src="01.jpg" width="300" height="330" />
<img id="letter-i" src="05.jpg" width="300" height="330" />
<img id="letter-o" src="03.jpg" width="300" height="330" />
</div>
<div id="xix" class="pics">
<img id="veggi2" src="04.jpg" width="300" height="330" />
<img id="letter-i" src="05.jpg" width="300" height="330" />
<img id="veggi3" src="06.jpg" width="300" height="330" />
</div>
<div id="bio" class="pics">
<img id="letter-b" src="01.jpg" width="300" height="330" />
<img id="letter-i" src="05.jpg" width="300" height="330" />
<img id="letter-o" src="03.jpg" width="300" height="330" />
</div>
</div>
<pre><code class="mix">$('#slider').cycle(
{
fx: 'fade',
speed: 500,
timeout: 3000,
pause: 1
});
</code></pre>
</body>
</html>
现在我需要在短时间内出现一些幻灯片。因此,我需要为幻灯片定义不同的速度。我需要这样的模式:1-2-3 -----&gt; 1-4-3 - &gt; 5-4-6 -----&gt; 1-4-3 - &gt; 1-2-3 -----&gt; (我需要两个速度,一个快速和一个慢速,较长的箭头表示缓慢的过渡,而较短的箭头表示快速过渡)。我正在考虑定义一个custem转换,以获得两个速度值,并在每个周期中切换它们,但我不知道如何使用JQuery Cycle实现它...
答案 0 :(得分:0)
我通过稍微修改插件解决了这个问题,在JQuery Cycle源代码中,每个转换中执行的函数是function go(els, opts, manual, fwd)
所以我只是定义了一个全局变量,它在每次转换中都会增加,并且用它来减少每个奇数转换的超时。像这样:
function go(els, opts, manual, fwd) {
$.cycleno++;
if($.cycleno%2==0)
opts.timeout=3000;
else
opts.timeout=10;
....
}
现在我有了我想要的效果:slide1 -----&gt; slide2 - &gt; slide3 -----&gt; slide4 - &gt; slide5 -----&gt; ...