jQuery每个元素都是孩子

时间:2014-03-11 18:49:57

标签: javascript jquery

我有一个页面,用户可以在其上发布几个滑块(轮播)。我正在使用jQuery迭代它们中的每一个并分配事件和基本逻辑。当页面上有一个滑块时,一切都运行良好,但是当我添加第二个滑块时,第一个滑块会断开 - 它不会更改第一个滑块的标题和当前数字,而是替换第二个滑块。 我已经在几个小时内一直在努力解决这个问题。这是代码:

(function($){
    $(function(){
        $('.slider').each(function(){
            var slider = $(this),
                photos = slider.find('.photos img')
                captions = slider.find('.captions p'),
                counter = slider.find('.status .current'),
                count = 0,
                total = photos.length;
            slider.find('.status .total').text(total);
            photos.eq(0).addClass('active').siblings().hide();
            captions.eq(0).siblings().hide();
            slider.find('a.previous, a.next').click(function(e){
                e.preventDefault();
                if(count < (total - 1))
                    count++;
                else 
                    count = 0;
                photos.filter('.active').removeClass('active').fadeOut('fast');
                photos.eq(count).addClass('active').fadeIn('fast');
                captions.eq(count).show().siblings().hide();
                counter.text(count + 1);
            });
        });
    });
}(jQuery));

这是fiddle

2 个答案:

答案 0 :(得分:2)

你在第6行忘了逗号:

[...]photos = slider.find('.photos img'),
            captions = slider.find('.captions p'),
            counter = slider.find('.status .current'),[...]

这是fiddle

答案 1 :(得分:0)

你遗漏了一个逗号:

photos = slider.find('.photos img'), //OVER HERE

http://jsfiddle.net/luckmattos/K3Y9w/3/