0

Uncaught error: $is not defined に関する同様の投稿をすべて見てきましたが、何も役に立ちませんでした。最新の jquery ライブラリを使用していますが、このエラーが表示される理由がわかりません。

$(function() {

    // Checking for CSS 3D transformation support
    $.support.css3d = supportsCSS3D();

    var formContainer = $('#formContainer');

    $('.flipLink').click(function(e){

        // Flipping the forms
        formContainer.toggleClass('flipped');

        if(!$.support.css3d){
            $('#login').toggle();
        }
        e.preventDefault();
    });

    formContainer.find('form').submit(function(e){

        e.preventDefault();
    });

    function supportsCSS3D() {
        var props = [
            'perspectiveProperty', 'WebkitPerspective', 'MozPerspective'
        ], testDom = document.createElement('a');

        for(var i=0; i<props.length; i++){
            if(props[i] in testDom.style){
                return true;
            }
        }

        return false;
    }
});

ここではscripts.jsとしてスクリプトを呼び出しています

<head>
        <script type="text/javascript" src="js/scripts.js"></script>
        <script type="text/javascript" src="js/jquery.js"></script>
        <script type="text/javascript" src="js/jquery-ui.js"></script>
        <link rel = "stylesheet" href= "css/styles.css">


    </head>

この状況でなぜこれが起こったのかを理解するための知識と、ヒントも得ていただければ幸いです。

4

3 に答える 3

3

スクリプトjQuery の前ではなく後に含めます。

    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/jquery-ui.js"></script>
    <script type="text/javascript" src="js/scripts.js"></script>

ブラウザーは、<script>タグのコンテンツが読み込まれるとすぐに段階的に評価します。自分のスクリプトを最初に配置すると、ブラウザは後続のスクリプトを解析する前に、それを実行しようとします。したがって、スクリプトの依存関係が満たされず、そのようなエラーが発生します。

于 2012-10-18T22:34:55.760 に答える
3

jquery スクリプトの後に scripts.js をロードする必要があります。

<head>
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/jquery-ui.js"></script>
    <script type="text/javascript" src="js/scripts.js"></script>
    <link rel = "stylesheet" href= "css/styles.css">
</head>
于 2012-10-18T22:35:07.113 に答える
0

$ が定義されるように、jquery のスクリプト タグを scripts.js の上に移動してみてください。

于 2012-10-18T22:39:16.663 に答える