首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery周期,如何在转换之间设置不同的间隔

JQuery周期,如何在转换之间设置不同的间隔
EN

Stack Overflow用户
提问于 2012-06-01 16:28:25
回答 1查看 639关注 0票数 0

我正在使用JQuery cycle为我的主页做幻灯片放映。主要思想是某些图像组一起出现,所以我想同步一些间隔,我有以下模式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一起出现,->显示转换)。下面是我的代码:

代码语言:javascript
复制
<!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 -> 1-4-3 -> 5-4-6 -> 1-4-3 -> 1-2-3 ->(我需要两个速度,一个快一个慢,较长的箭头表示慢过渡,而短箭头表示快过渡)。我正在考虑定义一个custem转换来获得两个速度值,并在每个周期中在它们之间切换,但我不知道如何用JQuery周期来实现它……

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-01 18:24:14

我通过修改插件解决了这个问题,在JQuery周期源代码中,在每个转换中执行的函数是function go(els, opts, manual, fwd),所以我简单地定义了一个全局变量,这个变量在每个转换中都会增加,并使用它来减少每个奇数转换中的超时。如下所示:

代码语言:javascript
复制
function go(els, opts, manual, fwd) {
    $.cycleno++;
    if($.cycleno%2==0)
        opts.timeout=3000;
    else
        opts.timeout=10;
    ....
}

现在我得到了我想要的效果: slide1 -> slide2 -> slide3 -> slide4 -> slide5 ->...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10846884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档