在浏览器后退按钮上未定义slimScroll

时间:2014-03-14 02:53:41

标签: javascript jquery slimscroll

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

  

未捕获TypeError:对象[object Object]没有方法' slimScroll'

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

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

注意:我尝试将代码包装在 $(document).ready() $(window).load()周围。这也没有帮助。

3 个答案:

答案 0 :(得分:2)

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

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

如果不是,那么您对包含文件的方式有疑问。此外,请确保您没有将slimscroll.js包含在错误的位置,并确保您不会在任何地方使用jQuery.noConflict();重新定义jQuery对象,但这不重要用这种方法。

答案 1 :(得分: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>

答案 2 :(得分: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'
    });
相关问题