-4

何も見つからなかったので、ここで答えを得ることができますか?

私のphpページにコンテンツをロードすると、次のエラーが表示されます。

TypeError: $(...).load は関数ではありません [このエラーで中断]

$(ドキュメント).ロード(関数() {

そこで、Firebug のソースを含め、現在の jQuery の設定を調べたところ、次のことが確認されました。

  • jQuery 1.8.0 が正しく読み込まれました
  • jQuery が設定されているかどうかを確認するために、load 呼び出しの前に条件ステートメントを追加しました。
  • 使用しているライブラリがロードされました
  • ドキュメントのロードが発生する前のアラート

これが私のコードです - PHP インクルード ファイルと jQuery で許可されていないものはありますか?:

<html>
<head> ...... </head>
<body>
    <div id='header'></div>

    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
    <script type="text/javascript" src="/js/jquery.nivo.slider.js"></script>
    <script type="text/javascript">

        $(window).load(function() {
            $('#slider').nivoSlider({
                animSpeed: 500,
                pauseTime: 5000,
                slices:40
            });
        });

    </script>

    <!-- Included file -->
    <div id='container'>
        <div style="height:245px;" id="wrapper">
                <div style="height:245px;" class="slider-wrapper theme-default">
                    <div style="height:245px;" class="nivoSlider" id="slider">
                        <img data-transition="sliceUpDownLeft" alt="" data-thumb="images/toystory.jpg" src="images/toystory.jpg">
                        <img title="This is an example of a caption" data-transition="sliceUpDownLeft" alt="" data-thumb="images/up.jpg" src="images/up.jpg">
                        <img data-transition="sliceUpDownLeft" alt="" data-thumb="images/walle.jpg" src="images/walle.jpg">
                        <img title="#htmlcaption" data-transition="sliceUpDownLeft" alt="" data-thumb="images/nemo.jpg" src="images/nemo.jpg">
                    </div>
                    <div class="nivo-html-caption" id="htmlcaption">
                        <strong>This</strong> is an example of a <em>HTML</em> caption with <a href="#">a link</a>. 
                    </div>
                </div>

        </div>
    </div>
    <!-- End included file -->

    <div id='footer'></div>
</body>
</html>
4

3 に答える 3

4

PHP は、クライアント側で何が起こっても気にしません。PHPが JavaScript を含むページを生成する場合でも、ブラウザー (JavaScript) とサーバー (PHP) で実行されるコードはまったく対話しません。

それらが間接的に交差するの、PHP を使用して JavaScript 定数を事前設定する場合 (通常は悪い考えです)、または JavaScript が GET/POST を使用してスクリプトの新しいインスタンスにデータを送り返す場合 (標準的な方法) のみです。

これを割り引いて、JSFiddle でページを見てみましょう。

http://jsfiddle.net/Rfh9A/

GitHub で NivoSlider リンクを指定する必要がありましたが、そこでは問題なく動作します。したがって、いくつかのオプションしかありません。

  1. 実際のコードは投稿したものとは異なります
  2. このページを AJAX 経由で読み込んでおり、jQuery は既に親ドキュメントの一部です。これは、特に 2 つの異なるバージョンのライブラリをロードしている場合に、過去に問題を引き起こしました。ライブラリが互換性のために省略形を無効にしている場合は、 に変更$するとうまくいくかもしれません。jQuery
  3. 貼り付けられていないページの一部の JavaScript エラー (回答 1 を参照) により、jQuery のインスタンス化が妨げられています。
  4. (ロング ショット) ローカル マシンで DNS の問題または何かが発生し、jQuery ライブラリがブラウザに読み込まれません。
于 2012-12-06T18:43:27.073 に答える
0

使用する:

$(document).ready(function() {
});

window.onload vs $(document).ready()

編集:

私が言ったことを無視してください。

これをローカルの html ファイルで使用している場合、// パスを含む jquery インクルードは、file:///ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js存在しない などのローカル ファイルとして扱われます。

使用する:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
于 2012-12-06T18:43:10.273 に答える
-1

タグ内に JavaScript ファイルを含めて<head></head>、インライン スクリプトが実行される前にすべて読み込まれるようにしてください。

于 2012-12-06T18:29:01.723 に答える