我使用Laravel mix来管理我的js文件,这是我的app.js:
window.$ = window.jQuery = require('./jquery-1.11.2.min.js');
require('./jquery.easing.1.3.js');
require('./bootstrap.min.js');
require('./SmoothScroll.js');
require('./jquery.scrollTo.min.js');
require('./jquery.localScroll.min.js');
require('./jquery.viewport.mini.js');
require('./jquery.countTo.js');
require('./jquery.appear.js');
require('./jquery.sticky.js');
require('./jquery.parallax-1.1.3.js');
require('./jquery.fitvids.js');
require('./owl.carousel.min.js');
require('./isotope.pkgd.min.js');
require('./imagesloaded.pkgd.min.js');
require('./jquery.magnific-popup.min.js');
require('./gmap3.min.js');
require('./wow.min.js');
require('./masonry.pkgd.min.js');
require('./jquery.simple-text-rotator.min.js');
require('./all.js');
all.js包含所有逻辑和内容,所以我的问题是一些 jQuery插件不起作用:
未捕获TypeError:$(...)。magnificPopup不是函数 在init_lightbox(index.js?id = f95f3419a2325063a526:11289)
当我按照上面的顺序以传统方式<script ...
加载我的js时,所有工作都有效,但是当我需要时
他们抛出错误,请帮忙,谢谢你
编辑:
在ducument准备好之后(在all.js中),init函数会激活:
$(document).ready(function(){
$(window).trigger("resize");
init_classic_menu();
init_fullscreen_menu();
init_side_panel();
init_lightbox();
init_parallax();
init_shortcodes();
init_tooltips();
init_counters();
init_team();
initPageSliders();
init_map();
init_wow();
init_masonry();
});
答案 0 :(得分:2)
所以解决方案是通过npm而不是
安装jQuerywindow.$ = window.jQuery = require('./jquery-1.11.2.min.js');
做
window.$ = window.jQuery = require('jquery');
解决了这个问题!
答案 1 :(得分:0)
看起来有a problem和Magnific-Popup
这是因为Modernizr将视频CSS类添加到HTML元素中,这是 与弹出窗口的选择器相同。
您是否碰巧在网站的任何位置使用了课程video
?可能Magnific-Popup
意外定位了您的HTML元素。