0

大家好,我正在开发一个游戏,当我在 chrome 上运行它时它可以工作,但是当我在模拟器上尝试它时,我的 javascript 代码中出现错误,我无法理解源代码或原因

这是错误:

05-13 11:53:11.726: E/Web Console(790): ReferenceError: Can't find variable: $ at file:///android_asset/www/js/html5games.matchgame6.js:5

错误在第 5 行:这是我的 javascript 文件内容:

  var matchingGame = {};
  ***var uiPlay1 = $("#gamePlay1");***  //////line 5
  var uiPlay2 = $("#gamePlay2");
  var uiIntro = $("#popup");
  var uiExit = $("#gameExit");
  var uiNextLevel = $("#gameNextLevel");
  var uigameQuit =$("#gameQuit");
 var uiPlay3 = $("#gamePlay3");
 matchingGame.savingObject = {};

 matchingGame.savingObject.deck = [];

 matchingGame.savingObject.removedCards = [];

 // store the counting elapsed time.
  matchingGame.savingObject.currentElapsedTime = 0;

  //store the last-elapsed-time

//matchingGame.savingObject.LastElapsedTime = 0;//now


  // store the player name
  matchingGame.savingObject.palyerName=$("#player-name").html();
  matchingGame.savingObject.currentLevel="game6.html";
  // all possible values for each card in deck
matchingGame.deck = [
'cardAK', 'cardAK',
'cardAQ', 'cardAQ',
'cardAJ', 'cardAJ',

  ];

   $(  function(){init();}  );


  //initialise game
   function init() {


                    $("#game").addClass("hide");

                    $("#cards").addClass("hide");


                   uiPlay1.click(function(e) {
                    e.preventDefault();

            $("#popup").addClass("hide");
            startNewGame();


             });

                uiPlay2.click(function(e) {
                    e.preventDefault();
                $("#popup").addClass("hide");
                        var savedObject = savedSavingObject();
               // location.href =savedObject.currentLevel ;

                if (savedObject.currentLevel=="game6.html")
                 rejouer();
                 else 
                 location.href =savedObject.currentLevel ;

                //ResumeLastGame();
                //alert ("level :"+savedObject.currentLevel );

                });

            uiExit.click(function(e) {e.preventDefault();
                                     //alert("u clicked me ");
                                    }
                        );



                uiPlay3.click(function(e) {
                e.preventDefault();
                $("#popupHelp").fadeIn(500, function() {
                $(this).delay(10000).fadeOut(500)}); });


    }

任何想法请提前谢谢你

4

4 回答 4

5

您可能没有包含 jQuery。

于 2012-05-13T12:20:08.020 回答
3

大概你还没有在$任何地方定义函数。

也许您的文档假设您已经加载了Prototype.jsMootoolsjQuery或许多其他库之一,这些库设置了那个(非常糟糕的)名称的变量。

于 2012-05-13T12:20:17.753 回答
1

在使用$.

您是否在文档末尾包含了您的库,并且在下载库之前编写了脚本。

确保你有一个引用你的库的脚本标签,然后有你的脚本内容。

还有一点需要注意的是,执行 scriot 时您的文档可能尚未加载,并且页面上可能不存在某些控件,因此请确保将它们包装在一个 API 中,该 API 将在文档完成后运行该函数完全加载。在 jquery 中你使用$(document).ready(function(){});

于 2012-05-13T12:25:48.530 回答
-1

我正在 Ejecta 中开发一个 JS 应用程序。jQuery 被包括在内,但 DOM 就绪不适用于 Ejecta。相反,在站点/应用程序初始化时,我会执行以下操作:

function func() {
    init();
    animate();
}

setTimeout(func, 1000);

这给了 jQuery 时间来加载和解析。

于 2013-03-08T00:48:29.550 回答