jQuery-为丢失特定类的元素定义变量并运行函数

jQuery-为丢失特定类的元素定义变量并运行函数,jquery,removeclass,eventtrigger,flexslider,Jquery,Removeclass,Eventtrigger,Flexslider,我知道这里有一些类似的问题,但我试图得到一个具体的值 我正在处理Flexslider,并试图向幻灯片添加一些特殊功能,从而丢失“flex活动幻灯片”类。根据文档,我成功地在幻灯片动画前后插入了我的函数 // Callback API start: function(){}, before: function(){ $('li.image').someFunction(); //this is where I need to trigger this event only to the li

我知道这里有一些类似的问题,但我试图得到一个具体的值

我正在处理Flexslider,并试图向幻灯片添加一些特殊功能,从而丢失“flex活动幻灯片”类。根据文档,我成功地在幻灯片动画前后插入了我的函数

// Callback API
start: function(){},
before: function(){ 
  $('li.image').someFunction(); //this is where I need to trigger this event only to the li.image that's losing the flex-active-slide class
},                          
after: function() {
  $('li.flex-active-slide').otherFunction(); //this is where the active class
}, 
我不需要为上面示例中看到的所有其他
li.image
元素运行该函数,只需要为失去flex活动幻灯片类的元素运行该函数

我需要获取这个元素并用变量定义它,这样我就可以只为
li.image
正确运行函数,这对于性能优化也是有意义的


非常感谢您的帮助。

我想您可以试试这样的

var somevar;

start: function(){},
before: function() {
    somevar = $('li.image.flex-active-slide');
},
after: function() {
    $.each(somevar, function( index, elem ) {
        if( !$(elem).hasClass('flex-active-slide')) ) {
            // Obviously it has lost the flex-active-slide class.
        }
    });
}

我怀疑,在插件实际完成某项工作之前,在不修改插件本身的情况下,很容易确定某个元素是否正在丢失所述类。因此,即使是
.someFunction()
方法也必须在
之后的
回调中执行。

更简单的方法是编辑插件文件本身

打开
jquery.flexslider.js

查找以下代码

 active: function() {
          slider.controlNav.removeClass(namespace + "active").eq(slider.animatingTo).addClass(namespace + "active");
        }
您可以在此功能中使用
slider.controlNav
进行工作
slider.controlNav
指的是使用jQuery的
找到其子图像的
li
元素。find

如果它不起作用,您可以在此文件中找到
活动幻灯片
,并查看该类被删除的位置,您可以在这些位置添加代码


更新:美元('li.image').eq(slider.currentSlide)是调用丢失活动类的幻灯片的方法。

我知道这与此有关,但我不明白如何在特定的li丢失活动类后立即调用该li。在该活动函数中,
滑块。controlNav
指其他位置
滑块中的
li
。currentSlide
li
。您可以编写write
var myLi=slider.currentSlide//删除类代码
然后
myLi。大致上我可以说
myLi
将是
$('li.flex active slide')
删除类代码后的快捷方式$('li.image').eq(slider.currentlide)。这就是获得该幻灯片的方法,非常感谢。你的答案是最好的。我编辑了您的答案以方便代码搜索者:)