1

重複の可能性:
jQuery のクラス名変更イベント

私はbxsilderと一緒にjqueryを使用しています。

リンクのクラス変更を認識するためにjqueryが必要です。これにより、線に沿って画像がアニメーション化されます。

ページ読み込み時、div1 .pager-active は画像を線に沿って左に移動します: 15% 次が押されると、div2 の下のリンクはクラス .pager-active を取得します。

したがって、div2 に、img を左にアニメーション化するためのクラス .pager-active があることを認識するために jquery が必要です:50%

以下は、div1の初期ロードで機能するが、ロード後のクラス変更を検出しないコードです。

if( $('#div1 .pager-active').length){
    $('.line img').animate({'left' : '15%'},600);
        };

if( $('#div2 .pager-active').length){
    $('.line img').animate({'left' : '50%'},600);
        };

if( $('#div3 .pager-active').length){
    $('.line img').animate({'left' : '85%'},600);
        };

どんな助けでも素晴らしいでしょう。

4

3 に答える 3

0

ここに投稿されているように、クラス変更イベントを取得できます。

jQueryのクラス名変更イベント

しかし、あなたもこの解決策を試すことができます:

next を押すと、 class .pager-active を持つ div の id を取得します。これには getAttr() を使用します。ID を取得したら、そのクラスを削除し、クラスを行の次の div にアタッチして、効果を実行します。

于 2012-05-24T13:33:47.017 に答える
0
var oldClass = $("#div").attr('class');
if(oldClass != $("#div").attr('class');
{
 //Do something?
}

もしかしてそういうこと?

于 2012-05-24T13:34:03.057 に答える
0

DOMAttrModifiedイベントを試してください:

document.getElementsById('div2').addEventListener('DOMAttrModified', function(e){
  if (e.attrName === 'style') {
    ...
  }
}, false);
于 2012-05-24T13:45:51.100 に答える