即使导入脚本,也找不到滚动函数
Scrollify function not being found even when script is imported
所以我试图使用Scrollify,这是一个jQuery插件滚动捕捉。我已经导入jQuery没有问题,但无论我如何导入插件本身,我得到错误:
Uncaught TypeError: $.scrollify is not a function
我有插件脚本加载后 jQuery本身加载,并在这两个加载后的配置代码,甚至到了我把插件的脚本标签和配置代码在</body>
之前的页面的末尾。
我已经尝试在本地托管插件脚本,我尝试使用CDN。
我在其他脚本中遇到过这些问题,它们总是由于加载顺序,但我在这里被难住了。任何帮助吗?
所以我在十月cms中构建一个自定义主题,我在遇到相同的错误之前使用scrollify。经过大量的挣扎,切换JQuery版本和移动函数,我注意到我的问题与使用Laravel Mix/Webpack导入滚动代码有关。我把它放在main.js文件的顶部,但是代码本身是在之后加载的。
我的解决方案是使用一些十月的小枝函数手动加载JQuery后的代码。
// These get loaded first
<script src="{{ [
'assets/js/app.js', // My JQuery gets loaded here
'assets/js/vue.js' // Other JS for the website
]|theme }}"></script>
// Scripts in here injected into page by the {% scripts %} tag after, having the
// scrollify.js in the array above or outside the {% put scripts %} tag would always throw
// $.scrollify is not a function error
{% put scripts %}
<script src="{{ 'assets/js/scrollify.js'|theme }}"></script>
<script>
$(document).ready(function () {
$.scrollify({
section: ".example-section",
});
});
</script>
{% endput %}
{% scripts %}
{% scripts %}标签插入对脚本的JavaScript文件引用由应用程序注入。https://octobercms.com/docs/markup/tag-scripts
正如上面提到的答案,Scrollify需要在页面和Jquery加载后加载,但如果你使用Webpack或同等工具,我建议检查浏览器中编译的脚本,并确保它们的顺序正确。
试着把你的脚本放在代码的底部。
...
<script>
$(function(){
$.scrollify({
...
});
});
</script>
</body>
尝试这样使用
jQuery(document).ready(function($) {
$.scrollify({
...
});
});
这个错误背后的原因是,Scrollify脚本应该在文档加载完成后初始化。因此,解决方案是将其移动到末尾
将这两行移到body标签的末尾,如下所示:
<body>
..
..
..
<script src="..'js'Scrollify'jquery.scrollify.js"></script>
<script>
$(document).ready(function() {
$.scrollify({
section : ".sectionalScrolling",
});
});
</script>
</body>
确保脚本位于结束正文标签的正前方
相关文章:
- 气质的“nestRemoting()”有时可以'找不到关系
- 错误405:向Java控制器(Ajax)发送JSON时找不到POST方法
- 找不到模块捆绑包
- for循环中的javascript if语句找不到==
- 为什么JavaScript可以'找不到给定的InnerHTML并返回Cannot set property
- 失败:等待Protractor与页面同步时出错:“”;在窗口上找不到角度”;
- Babel编译错误:找不到模块核心js/library/fn/get迭代器
- [Vue warn]:找不到元素
- ngRoute找不到模板
- 未能加载,因为找不到支持的源.当播放HTML5音频元素时
- 因果报应-找不到模块:错误:无法解析模块'scs'
- Angular 2:在本地.json文件上找不到文件
- module.js在运行iron节点时找不到模块
- 放大弹出生成“;找不到文件”;YouTube视频的错误
- 我发现了一些只在移动设备上可见的垃圾邮件链接,我可以'找不到包含此垃圾邮件链接的脚本的位置
- Web 地址虚拟目录会断开外部 JavaScript 链接,因此找不到文件
- Meteor.js可以'找不到语义:ui包
- 找不到容器:goog.Disposable.instances _在为javascript工具使用泄漏查找器时出错
- jQuery UI可拖动1.10.3问题,当窗口向下滚动时,Firefox找不到光标中心
- 即使导入脚本,也找不到滚动函数