首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在$(元素).each(.)中使用.each

如何在$(元素).each(.)中使用.each
EN

Stack Overflow用户
提问于 2012-04-24 23:57:34
回答 3查看 82关注 0票数 1

我有一些div,我想使用jquery的每一种方法循环这些div,并希望对每个div逐一应用一个效果。更清楚的是,我想将潜水减弱到0.5 (不透明度),然后延迟(300),然后再次fadeTo返回1(不透明度),但是我希望每个div都这样做。有人能告诉我正确的路吗。谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-25 00:06:20

代码语言:javascript
复制
var obj = $('.box');
var i = 0;
LoadSequence();

//recursive for all the items.
function LoadSequence() {
    obj.eq(i++).fadeTo('1000', 0.1).delay(300).fadeTo('1000', 1, LoadSequence);
};
​

小提琴:http://jsfiddle.net/NHdB6/6/

票数 1
EN

Stack Overflow用户

发布于 2012-04-25 00:03:39

不久前我做了一个lil‘plugin。这可能有助于:

演示:http://jsfiddle.net/elclanrs/9Zxew/

代码语言:javascript
复制
(function ($) {
    $.fn.fade1by1 = function (options) {
        var opt = $.extend({
                'delay' : 500,
                'speed' : 500,
                'ease' : 'swing' // Other requires easing plugin
            }, options);
        var that = this;
        for (var i = 0, d = 0, l = that.length; i < l; i++, d += opt.delay) {
            that.eq(i).delay(d).fadeIn(opt.speed, opt.ease);
        }
    };
})(jQuery);
票数 1
EN

Stack Overflow用户

发布于 2012-04-25 00:18:34

我总是认为使用动画完成函数比使用多个不同的协调计时器更好,因为它保证了顺序性。我是这样做的:

代码语言:javascript
复制
function fadeElementsSequential(selector) {
    var elems$ = $(selector);
    var i = 0;
    function next() {
        if (i < elems$.length) {
            elems$.eq(i++).fadeTo(1000, 0.5).delay(300).fadeTo(1000, 1, next);
        }
    }
    next();
}

fadeElementsSequential(".box");

下面是一个工作演示:http://jsfiddle.net/jfriend00/BW6YF/

注意:我更改了演示中的不透明度值,只是为了使其更加可见。

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

https://stackoverflow.com/questions/10307616

复制
相关文章

相似问题

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