开发者问题收集

未捕获的类型错误:undefined 不是函数 slick car

2014-11-15
9826

我已通读,但找不到适合我的问题的解决方案

我正尝试让 slick carousel 工作。我已让它在 jsbin 上工作,如下所示: http://jsbin.com/gojozobemi/1/edit?html,output

但是,当我在桌面上工作时,它在开发控制台中显示错误,提示“Uncaught TypeError:undefined 不是函数” 以下是我的部分桌面代码

$(document).ready(function(){
    $('.single-items').slick({
        dots: true,
        infinite: true,
        speed: 300,
        slidesToShow: 1,
        adaptiveHeight: true
    });
});
<div class="single-items">
    <div>
        <img src="http://wallpapercartoon.com/wp-content/uploads/2014/07/o-DOUG-facebook.jpg">
    </div>
    <div>
        <img src="http://img3.wikia.nocookie.net/__cb20130803215442/nickelodeon/images/e/e2/Tumblr_lvjvhxwDiM1r6hffko1_400.jpg">
    </div>

    <div>
        <img src="http://fc02.deviantart.net/fs70/f/2013/303/b/4/pork_chop_by_barontremaynecaple-d6sdm6s.jpg">
    </div>
</div>

我很困惑,为什么这在 JSBin 上可以工作,而在我的桌面上却不行,任何帮助都将不胜感激

<!DOCTYPE html>
<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
<html class="no-js" lang="en">

<head>
  <meta charset="utf-8">
  <!-- If you delete this meta tag World War Z will become a reality -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
  <title>Coffee Site</title>

  <link rel="stylesheet" href="css/normalize.css">
  <link rel="stylesheet" href="css/foundation.css">
  <link rel="stylesheet" href="css/app.css">
  <link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/jquery.slick/1.3.15/slick.css" />

  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
  <script src="js/vendor/modernizr.js"></script>
  <script src="js/slickini.js"></script>
</head>

<body>
  <div class="contain-to-grid sticky">
    <nav class="top-bar" data-topbar role="navigation">
      <ul class="title-area">
        <li class="name">
          <h1><a href="#">Coffee Site</a></h1>
        </li>
        <!-- Remove the class "menu-icon" to get rid of menu icon. Take out "Menu" to just have icon alone -->
        <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a>
        </li>
      </ul>

      <section class="top-bar-section">
        <!-- Right Nav Section -->
        <ul class="right">
          <li class="has-form">
            <div class="row collapse">
              <div class="large-8 small-9 columns">
                <input type="text" placeholder="Find Stuff">
              </div>
              <div class="large-4 small-3 columns">
                <a href="#" class="alert button expand">Search</a>
              </div>
            </div>
          </li>
        </ul>

        <!-- Left Nav Section -->
        <ul class="left">
          <li class="has-dropdown">
            <a href="#">Left Button Dropdown</a>
            <ul class="dropdown">
              <li><a href="#">First link in dropdown</a>
              </li>
              <li class="active"><a href="#">Active link in dropdown</a>
              </li>
            </ul>
          </li>

        </ul>
      </section>
    </nav>
  </div>
  <!---main content goes here-->
  <div class="single-items">
    <div>
      <img src="http://wallpapercartoon.com/wp-content/uploads/2014/07/o-DOUG-facebook.jpg">
    </div>

    <div>
      <img src="http://img3.wikia.nocookie.net/__cb20130803215442/nickelodeon/images/e/e2/Tumblr_lvjvhxwDiM1r6hffko1_400.jpg">
    </div>

    <div>
      <img src="http://fc02.deviantart.net/fs70/f/2013/303/b/4/pork_chop_by_barontremaynecaple-d6sdm6s.jpg">
    </div>
  </div>


  <script type="text/javascript" src="//cdn.jsdelivr.net/jquery.slick/1.3.15/slick.min.js"></script>
  <script src="js/vendor/jquery.js"></script>
  <script src="js/foundation.min.js"></script>


  <script>
    $(document).foundation();
  </script>

</html>
2个回答

只需将 http https 添加到您的 jquery.slick script 引用即可。

<script type="text/javascript" src="http://cdn.jsdelivr.net/jquery.slick/1.3.15/slick.min.js"></script>

您的桌面上可能有一个静态网站(没有网络服务器),因此浏览器不知道如何在没有 http 或 https 的情况下解析引用。 由于 JSBin 与任何托管网站一样在网络服务器上运行,因此浏览器知道如何解析引用。它添加 http https 以获取站点 URL 的值。

*对您的 link css 引用执行相同操作。

ianaya89
2014-11-16

尝试删除已加载的 jquery 的双重实例(“vendor/jquery.js”和“jquery-1.11.1.min.js”)。据我所知,slick.js 在旧版本的 jquery 中也存在问题。

Manuel Arwed Schmidt
2014-12-12