【问题标题】:Add a class to first li if last li contains class with cycle plugin如果最后一个 li 包含带有循环插件的类,则向第一个 li 添加一个类
【发布时间】:2012-08-02 07:56:35
【问题描述】:

This fiddle 按预期工作,当最后一个 li 有一个类时,第一个 li 得到一个类第一个。

我正在尝试对 jQuery Cycle 插件使用相同的原理。如果您查看this fiddle,您会看到循环插件向活动幻灯片添加了一个activeSlide 类。我在文件中放了一些我认为可以处理的代码,但看起来好像我的逻辑错了?

【问题讨论】:

    标签: jquery jquery-cycle


    【解决方案1】:

    您只需在文档加载时检查一次 activeSlide 类。将您的逻辑包装在行上的单击处理程序中,它应该可以工作:

    $('#nav li').click(function() {
        if( $('.activeSlide').is('li:last-child') ) {
            $('li:first').addClass('first');
        }
        else {
            $('li:first').removeClass('first');
        }
    });
    

    Click here for live example

    如果我想在周期的每个间隔检查活动幻灯片怎么办?

    您可以向after 选项添加回调并在那里运行逻辑。查看all the available options了解更多信息。

    Click here for a live example

    【讨论】:

    • +1 将您的代码添加到原始小提琴作品中。您链接的小提琴不包括该代码。
    • 我现在明白了,谢谢。我已经更新了你的答案,包括现在工作的小提琴。
    • @FrançoisWahl:这很奇怪,我确定我按下了保存键。无论如何,我自己刚刚更新到工作小提琴:)
    • 再看一次@Codemonkey如果像jsfiddle.net/aaronk85/Y2muS/39这样的循环中有超时会发生什么有没有办法自动处理它(没有点击?)或者你之前说的这是否意味着 activeSlide 只会被检查一次?
    • @ak85:您将逻辑放入一个函数中,并将其添加到after 回调选项中。我已更新我的答案以包含此信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-23
    • 1970-01-01
    相关资源
    最近更新 更多