3

我有一个使用 jquery.slimscroll 的基本代码,它在页面加载时工作得非常好。但是,如果我导航到内部页面并尝试使用浏览器上的“返回”按钮返回,则会收到以下错误:

未捕获的类型错误:对象 [object Object] 没有方法“slimScroll”

我检查了元素的长度并确认该对象存在。我的 jQuert 就是这么简单:

<script type="text/javascript">
    $("#boxsrchome").slimScroll();
</script>

注意:我尝试将代码包装在$(document).ready()$(window).load()周围。这也无济于事。

4

3 回答 3

3

首先,通过在控制台输入 jQuery 来查看是否定义了 jQuery。如果是,试试这个:尝试将其包装在:

(function($) {
    $("#boxsrchome").slimScroll();
})(jQuery);

如果不是,则说明您包含文件的方式存在问题。另外,请确保您没有将 slimscroll.js 包含在错误的位置,并确保您没有通过jQuery.noConflict();在任何地方使用来重新定义 jQuery 对象,尽管这与此方法无关。

于 2014-03-14T02:56:25.430 回答
1

slimScroll由于文件路径错误或文件名错误,浏览器似乎无法加载您的插件。尝试使用firebug或 chrome 开发者工具检查您的文件是否正确加载。

您也可以尝试使用 Github 的直接链接,因此您的代码应如下所示:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="https://raw.github.com/rochal/jQuery-slimScroll/master/jquery.slimscroll.min.js"></script>
<script>
    jQuery(document).ready(function($) {
        $("#boxsrchome").slimScroll();
    });
</script>
于 2014-03-14T03:00:00.573 回答
0

请按照以下步骤操作,它肯定会起作用。

1.使用这个npm:npm install jquery-slimscroll

2.使用以下代码更新您的.angular-cli.json文件

"scripts": [
        "../node_modules/jquery/dist/jquery.min.js",
        "../node_modules/jquery-slimscroll/jquery.slimscroll.min.js"
      ],

3.html结构

<div id="content">
<p>Lorem ipsum dolor sit amet, consectetur .... snip</p>
</div>

4.使用以下slimscroll

$('#content').slimScroll({
        height: '250px',
        color:'#F44336'
    });
于 2018-03-23T09:43:16.087 回答