クラス「flex-active-slide」をアクティブに動的に追加するスライダー(flexslider)があります<li>
。
特定のスライドに「flex-active-slide」というクラスがある場合、jQuery を使用して何かを実行したいと考えています。私は次のことを試しましたが、.flex-active-class が既に実行された後にオンザフライで追加されるため、機能しません。
if ( $('#slider li.about').is('.flex-active-slide') ){
$('.nav li.about').show();
}
私の調査では、on() を使用したいようですが、私が目にするすべての例は、それを click() や hover() などのイベントに関連付けています。これは、そのようなものによってトリガーされるのではなく、クラスが「現れる」だけです。フォーマットの仕方がわかりません。このようなもの...?
$(document).on('???',".flex-active-slide", function() {
$(".nav li.about").show();;
})
私は恥ずかしいほど間違っていると確信しています.あなたが与えることができる助けに感謝します!!
注: 影響を与えようとしている .nav はスライダー div とはまったく関係がないため、単純に CSS を使用することはできません。
更新: これは、flex-active-slide クラスの追加を制御する flexslider.js のコードと思われるものです。私にできることを示唆するものはここにありますか?
slider.flexAnimate = function(target, pause, override, withSync, fromNav) {
if (asNav && slider.pagingCount === 1) slider.direction = (slider.currentItem < target) ? "next" : "prev";
if (!slider.animating && (slider.canAdvance(target, fromNav) || override) && slider.is(":visible")) {
if (asNav && withSync) {
var master = $(vars.asNavFor).data('flexslider');
slider.atEnd = target === 0 || target === slider.count - 1;
master.flexAnimate(target, true, false, true, fromNav);
slider.direction = (slider.currentItem < target) ? "next" : "prev";
master.direction = slider.direction;
if (Math.ceil((target + 1)/slider.visible) - 1 !== slider.currentSlide && target !== 0) {
slider.currentItem = target;
slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
target = Math.floor(target/slider.visible);
} else {
slider.currentItem = target;
slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
return false;
}
}
...