スライドショーに Jquery Cycle プラグインを使用しています。特定のスライドがアクティブになったときにイベントを追加したいと考えています。Cycle プラグインは、特定の div 内の画像の不透明度を次のように追加および削除することでこれを実現します。
<div style="position: absolute; top: 0px; z-index: 9; display: none; opacity: 0;">
画像がアクティブな場合、または現在のスライドである場合、不透明度は 1 に変わり、表示は「ブロック」になります。
今、divのCSSスタイル/属性を検出することから、そのdivにクラスを割り当てることまで、さまざまなアプローチを使用してみました。
if($("#slideshow > div:nth-child(2)").hasClass('fadeOut') == 1) {
alert('Hello');
}
また
if($("#slideshow > div:nth-child(2)").css('opacity') == 1) {
alert('Hello');
}
そしてさえ
if($(".fadeOut").css('opacity') == 1) {
alert('Hello');
}
問題は、Cycle プラグインで動的に適用されたときに、JS が「不透明度: 1」スタイルを検出しないことです。一方、スタイルがcssファイルにインラインで適用されている場合は機能しますが、もちろん、ページが読み込まれた瞬間にイベントが発生するため、機能しません。 2 番目の画像がアクティブな画像である場合、つまり、「不透明度」が 1 に設定されているか、「表示」がブロックされていて、それを理解できないように見える場合のみ。