0

これをライブ環境で動作させようとしています: http://jsfiddle.net/LREwC/

私が設定したテスト HTML ページは次のとおりです。

<head>
<title>1</title>
<link href="/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="/js/jquery-1.8.3.js"></script>
</head>
<body>
<script type="text/javascript">
(function() {

    var quotes = $(".quotes");
    var quoteIndex = -1;

    function showNextQuote() {
        ++quoteIndex;
        quotes.eq(quoteIndex % quotes.length)
            .fadeIn(2000)
            .delay(2000)
            .fadeOut(2000, showNextQuote);
    }

    showNextQuote();

})();
</script>
<p class="quotes">first quote</p>
<p class="quotes">second quote</p>
<p class="quotes">third quote</p>
</body>

ライブ環境ではなぜか動かないのですが、JSfiddleでは問題なく動きます。コードの公開に何か問題がありますか?

CSS と JS スクリプト ファイルが正しくリンクされています。リンクをライブでテストしましたが、短くしただけなので、作業中のサイトにはリンクしませんでした.

4

1 に答える 1

0

すべての dom 要素の準備が整うまで待つ必要があります。

jQuery(function($) {

    var quotes = $(".quotes");
    var quoteIndex = -1;

    function showNextQuote() {
        ++quoteIndex;
        quotes.eq(quoteIndex % quotes.length)
            .fadeIn(2000)
            .delay(2000)
            .fadeOut(2000, showNextQuote);
    }

    showNextQuote();

});

別のオプションは、スクリプトをドキュメントの最後に移動することです。

于 2013-08-26T17:31:53.680 に答える