Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获引用错误:未定义JQuery_Javascript_Jquery_Single Page Application - Fatal编程技术网

Javascript 未捕获引用错误:未定义JQuery

Javascript 未捕获引用错误:未定义JQuery,javascript,jquery,single-page-application,Javascript,Jquery,Single Page Application,我正在学习如何从一本名为《单页Web应用程序》的书中创建单页应用程序。我尝试过提供的代码只是为了构建我的第一个简单SPA,但是当我启动它时,滑块不起作用,并且在浏览器中使用开发人员工具会显示消息“UncaughtReferenceError:JQuery未定义”。为什么会发生错误?以下是书中所写的代码。问题出在我有箭头指向的底部 <!doctype html> <html> <head> <meta charset="UTF-8"> <

我正在学习如何从一本名为《单页Web应用程序》的书中创建单页应用程序。我尝试过提供的代码只是为了构建我的第一个简单SPA,但是当我启动它时,滑块不起作用,并且在浏览器中使用开发人员工具会显示消息“UncaughtReferenceError:JQuery未定义”。为什么会发生错误?以下是书中所写的代码。问题出在我有箭头指向的底部

<!doctype html>
<html>
<head>
  <meta charset="UTF-8">
  <title>SPA Chapter 1 section 1.2.2</title>
  <style type="text/css">
    body {
      width    : 100%;
      height   : 100%;
      overflow : hidden;
      background-color : #777;
    }

    #spa {
      position : absolute;
      top      : 8px;
      left     : 8px;
      bottom   : 8px;
      right    : 8px;
      border-radius    : 8px 8px 0 8px;
      background-color : #fff;
    }

    .spa-slider {
      position : absolute;
      bottom   : 0;
      right    : 2px;
      width    : 300px;
      height   : 16px;
      cursor   : pointer;
      border-radius    : 8px 0 0 0;
      background-color : #F00;
    }
  </style>

  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

  <script>
  var $ = jQuery
  /*jslint        browser : true, continue : true,
    devel  : true, indent : 2,    maxerr   : 50,
    newcap : true, nomen  : true, plusplus : true,
    regexp : true, sloppy : true, vars : true,
    white  : true
  */
  /*global jQuery */

  // Module /spa/
  // Provides chat slider capability
  //
  var spa = (function ( $ ) {
    // Module scope variables
    var
      // Set constants
      configMap = {
        extended_height : 434,
        extended_title : 'Click to retract',
        retracted_height : 16,
        retracted_title : 'Click to extend',
        template_html : '<div class ="spa-slider"><\/div>'
      },

      // Declare all other module scope variables
      $chatSlider,
      toggleSlider, onClickSlider, initModule;

    // DOM method /toggleSlider/
    // alternates slider height
    //
    toggleSlider = function () {
      var
        slider_height = $chatSlider.height();

      // extend slider if fully retracted
      if ( slider_height === configMap.retracted_height ) {
        $chatSlider
          .animate({ height : configMap.extended_height })
          .attr( 'title', configMap.extended_title );
        return true;
      }

      // retract slider if fully extended
      else if ( slider_height === configMap.extended_height ) {
        $chatSlider
          .animate({ height : configMap.retracted_height })
          .attr( 'title', configMap.retracted_title );
        return true;
      }

      // do not take action if slider is in transition
      return false;
    };

    // Event handler /onClickSlider/
    // receives click event and calls toggleSlider
    //
    onClickSlider = function ( event ) {
      toggleSlider();
      return false;
    };

    // Public method /initModule/
    // sets initial state and provides feature
    //
    initModule = function ( $container ) {

      // render HTML
      $container.html( configMap.template_html );
      $chatSlider = $container.find( '.spa-slider' );

      // initialize slider height and title
      // bind the user click event to the event handler
      $chatSlider
        .attr( 'title', configMap.retracted_title )
        .click( onClickSlider );

      return true;
    };

    return { initModule : initModule }; // <<<<<<<-------
  }( JQuery )); // <<<<<<<--------

  // Start SPA once DOM is ready
  //
  jQuery(document).ready(
    function () { spa.initModule( jQuery('#spa') ); }
  );
  </script>
</head>

<body>
  <div id="spa">
    <div class="spa-slider"></div>
  </div>
</body>
</html>

SPA第1章第1.2.2节
身体{
宽度:100%;
身高:100%;
溢出:隐藏;
背景色:#777;
}
#温泉{
位置:绝对位置;
顶部:8px;
左:8px;
底部:8px;
右:8px;
边界半径:8px 8px 0 8px;
背景色:#fff;
}
.spa滑杆{
位置:绝对位置;
底部:0;
右:2px;
宽度:300px;
高度:16px;
光标:指针;
边界半径:8px0;
背景色:#F00;
}
var$=jQuery
/*jslint浏览器:true,continue:true,
德维尔:对,缩进:2,最大错误:50,
newcap:true,nomen:true,plusplus:true,
regexp:true,sloppy:true,vars:true,
怀特:是的
*/
/*全局jQuery*/
//模块/水疗/
//提供聊天滑块功能
//
var spa=(函数($){
//模块作用域变量
变量
//设置常数
配置映射={
延伸高度:434,
扩展标题:“单击以收回”,
缩回高度:16,
收回标题:“单击以扩展”,
模板\u html:'
},
//声明所有其他模块作用域变量
$chatSlider,
toggleSlider、onClickSlider、initModule;
//DOM方法/切换滑块/
//交替滑块高度
//
toggleSlider=函数(){
变量
slider_height=$chatsslider.height();
//如果完全缩回,则伸展滑块
如果(滑块高度===configMap.retracted高度){
$chatSlider
.animate({height:configMap.extended_height})
.attr('title',configMap.extended_title);
返回true;
}
//如果滑块完全伸出,则缩回滑块
else if(滑块高度===configMap.extended高度){
$chatSlider
.animate({height:configMap.retracted_height})
.attr('title',configMap.retracted_title);
返回true;
}
//如果滑块处于过渡状态,则不执行操作
返回false;
};
//事件处理程序/onClickSlider/
//接收click事件并调用toggleSlider
//
onClickSlider=函数(事件){
切换滑块();
返回false;
};
//公共方法/初始化模块/
//设置初始状态并提供功能
//
initModule=函数($container){
//呈现HTML
$container.html(configMap.template\u html);
$chatsslider=$container.find('.spa slider');
//初始化滑块高度和标题
//将用户单击事件绑定到事件处理程序
$chatSlider
.attr('title',configMap.retracted_title)
。单击(单击滑块);
返回true;
};

返回{initModule:initModule};//JavaScript区分大小写。在用箭头标记的第二行,将
JQuery
更改为
JQuery
(小写
j
):


}(jQuery)) 看起来您使用的Jquery脚本源代码可能已经过时。试试这个:

'<script src="http://code.jquery.com/jquery-latest.min.js"></script>'
“”

Google CDN是否过时?你可以很容易地找到。他们在jQuery版本1.11中还没有jQuery?当我把它复制到网站上时,这一定是一个打字错误,因为我的ide上不是这样的。但是谢谢,我很抱歉,这是你提到的,我试过了,效果很好。谢谢,我已经连续两天痴迷了,谢谢。
'<script src="http://code.jquery.com/jquery-latest.min.js"></script>'