0

奇妙なこと...ローカルではこの自動スクロールですが、サーバーにアップロードすると自動スクロールしません。ファイルはまったく同じです。作業ディレクトリ全体をアップロードしましたが、自動回転しません。何か案は?

$(document).ready(function() {

    $('#viewport').carousel('#previous', '#next');

    //The auto-scrolling function
    function slide(){
      $('#next').click();
    }
    //Launch the scroll every 2 seconds
    var intervalId = window.setInterval(slide, 6000);

    //On user click deactivate auto-scrolling
    $('#previous, #next').click(
    function(event){
      if(event.originalEvent){
          window.clearInterval(intervalId);
      }
    }
    );

});

プラグインhttp://code.google.com/p/jquery-infinite-carousel/を使用しています

4

2 に答える 2

1

昨夜、これを理解しようと一晩中過ごした後、ホスティング会社に行き、自動クリックを阻害する可能性のあるサーバーのセキュリティ問題を認識しているかどうかを確認しました. 彼らの答えは問題を解決し、次のとおりでした。

どうやらいくつかの競合が発生しており、wordpress jquery がロードされているため、「$('#next').click();」行を「jQuery('#next').click();」に更新する必要がありました。 $ と jQuery でロードされるように、noConflict を true に設定します。

ライブサイトのWordpress内で動作しなかった理由は、ロードされている別のJavaScriptライブラリと何らかの競合があったに違いないためです.jqueryには、これらの競合を回避する機能が組み込まれています. 「noConflict」と呼ばれますhttp://api.jquery.com/jQuery.noConflict/ ワードプレスがすでに実行しているこの関数を呼び出すことにより、「$」の代わりにjqueryの関数呼び出しの前に「jQuery」を使用するようになりますそれらの競合を回避します。これは、他のライブラリでも「$」記号が使用される可能性があるためです。したがって、将来の更新で起こりうる競合を避けるために、'$' の代わりに 'jQuery' 呼び出しを使用することをお勧めします。」

于 2012-06-20T20:37:24.490 に答える
0

$(document).ready() の代わりに $(window).load() を使用してみてください。これは、ローカルホストよりもサーバーでページを読み込む方が時間がかかり、$(window).load() が呼び出されるためです。ページがロードされたとき。

于 2012-06-20T03:41:19.447 に答える