-4

我还没有找到任何东西,所以希望我能在这里得到答案?

在我的 php 页面上加载内容时,我看到以下错误:

TypeError: $(...).load 不是一个函数 [Break On This Error]

$(文档).load(函数() {

所以我查看了我当前的 jQuery 设置,包括 Firebug 中的源代码,并确认了以下内容:

  • jQuery 1.8.0 正确加载
  • 我在加载调用之前添加了条件语句以检查是否填充了 jQuery。
  • 我正在使用的库已加载
  • 在文档加载触发之前发出警报

这是我的代码 - 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 不关心客户端发生了什么——在浏览器 (JavaScript) 和您的服务器 (PHP) 上运行的代码根本不交互,即使 PHP 生成包含 JavaScript 的页面也是如此。

它们相交的唯一一次是间接相交,当您使用 PHP 预填充 JavaScript 常量(通常是一个坏主意)或 JavaScript 使用 GET/POST 将数据发送回脚本的新实例时(标准做法)。

因此,打折后,让我们在 JSFiddle 中查看您的页面:

http://jsfiddle.net/Rfh9A/

它在那里工作得很好,尽管我不得不在 GitHub 上指向 NivoSlider 链接。所以现在我们只有几个选择:

  1. 您的实际代码与您发布的不同
  2. 您正在通过 AJAX 加载此页面,并且 jQuery 已经是父文档的一部分。这在过去给我带来了问题,特别是当您加载两个不同版本的库时。如果您更改$jQuery,它可能会起作用,以防库禁用了兼容性的简写。
  3. 未粘贴的页面部分中的 JavaScript 错误(请参阅答案 1)正在阻止 jQuery 实例化。
  4. (远射)您的本地计算机上出现了 DNS 问题或其他问题,阻止了 jQuery 库在您的浏览器上加载。
于 2012-12-06T18:43:27.073 回答
0

采用:

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

window.onload 与 $(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 回答