0

フェードイン/フェードアウト マーキーとして表示/非表示にしたいメッセージのリスト (li がいくつかある ul) があります。

簡単です:

    function InOut(elem) {
        elem.delay(100).fadeIn(1200).delay(10000).fadeOut(1200,

        function() {
            if (elem.next().length > 0) {
                InOut(elem.next());
            }
            else {
                InOut(elem.siblings(':first'));
            }

        });
    }

    $(function() {
        $('#myul li').hide();
        InOut($('#myul li:first'));

    });

これは、私が望むように単独で機能します (JSFiddle で微調整しましたが、CSS などが関係していました)。

ただし、ライブ サイトにコードを配置すると失敗します。「順序」の問題が発生した場合に備えて、HEAD 終了タグの直前にコードを配置しました。

私の疑いは、 $(function()... が有効になっていないことです。

実装は IP ボード サイトであり、コードはサイトのテンプレート ファイルの 1 つに配置されます。これらのテンプレート ファイルは、PHP 呼び出し、カスタム CSS などで読み込まれます。そのため、デバッグは少し悪夢のようです。

例外がスローされていることはわかりません。

この例では JavaScript に精通していないため、ここで何を行う必要があるかわかりません。そして、ページ コードを共有できなければ、これは難しいかもしれないことを認識しています (また、非常に単純な場合もあります)。

どんな助けでも大歓迎です。

ありがとう!

/s/ ジョン C. マンソン II

4

1 に答える 1

1

OK、私はこれらの変更によってこれを機能させました(おそらく不要なものもあります):

            (function($){    
                 var InOut = function (elem) {
                      elem.delay(100).fadeIn(1200).delay(10000).fadeOut(1200,
                           function() {
                                if (elem.next().length > 0) {
                                     InOut(elem.next());
                                }
                                else {
                                     InOut(elem.siblings(':first'));
                                }
                           });
                  }
                  $(function(){
                       $('#ayeups li').hide();
                       InOut($('#ayeups li:first'));
                  });
             })(jQuery);

みんなを見てくれてありがとう、など。そして助けてくれてありがとう@ianpgall。:D

于 2012-10-29T04:04:03.323 に答える