我有一个使用jquery.slimscroll的基本代码,它在页面加载时工作得很好。但是,如果我导航到内页并尝试使用"返回"浏览器上的按钮,我收到以下错误:
未捕获TypeError:对象[object Object]没有方法' slimScroll'
我检查了元素长度并确认该对象存在。我的jQuert就像这样简单:
<script type="text/javascript">
$("#boxsrchome").slimScroll();
</script>
注意:我尝试将代码包装在 $(document).ready()和 $(window).load()周围。这也没有帮助。
答案 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'
});