jQuery-为丢失特定类的元素定义变量并运行函数
我知道这里有一些类似的问题,但我试图得到一个具体的值 我正在处理Flexslider,并试图向幻灯片添加一些特殊功能,从而丢失“flex活动幻灯片”类。根据文档,我成功地在幻灯片动画前后插入了我的函数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
// 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
。您可以编写writevar myLi=slider.currentSlide//删除类代码
然后myLi。大致上我可以说myLi
将是$('li.flex active slide')
删除类代码后的快捷方式$('li.image').eq(slider.currentlide)。这就是获得该幻灯片的方法,非常感谢。你的答案是最好的。我编辑了您的答案以方便代码搜索者:)