有错误未捕获TypeError:$(...)。flexslider不是一个函数
在内联Js中初始化flexslider时虽然在延伸的外部js中加载了flexslider
这是代码
function parseJSAtOnload() {
var moduleJsPath = "<?php echo BASE_URL.SHARED_ADDONPATH.'modules/fj/js/';?>";
var links = [moduleJsPath + "flexslider/jquery.flexslider.js",moduleJsPath + "lazyload.min.js"],
headElement = document.getElementsByTagName("head")[0],
linkElement, i;
for (i = 0; i < links.length; i++) {
linkElement = document.createElement("script");
linkElement.src = links[i];
headElement.appendChild(linkElement);
}
}
if (window.addEventListener)
window.addEventListener("load", parseJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", parseJSAtOnload);
else window.onload = parseJSAtOnload;
window.onload = function(){
$('.slider').flexslider({
selector: ".form-group > .col-md-3",
animation: "slide",
animationLoop: false,
itemWidth: 370,
itemMargin: 5,
maxItems:4,
controlNav: false,
slideshow: false,
mousewheel:true
});
}
jquery.flexslider.js
可能不在正确的路径上。解决方案:直接在
parseJSAtOnload()
标签中应用<script>
函数。
您收到的是:TypeError: $(...).flexslider is not a function
错误:
检查此更新:
function parseJSAtOnload() {
var moduleJsPath = "<?php echo BASE_URL.SHARED_ADDONPATH.'modules/fj/js/';?>";
var links = [moduleJsPath + "flexslider/jquery.flexslider.js",moduleJsPath + "lazyload.min.js"],
headElement = document.getElementsByTagName("head")[0],
linkElement, i;
for (i = 0; i < links.length; i++) {
linkElement = document.createElement("script");
linkElement.src = links[i];
headElement.appendChild(linkElement);
}
}
parseJSAtOnload();//function call to DOM
window.onload = function(){
$('.slider').flexslider({
selector: ".form-group > .col-md-3",
animation: "slide",
animationLoop: false,
itemWidth: 370,
itemMargin: 5,
maxItems:4,
controlNav: false,
slideshow: false,
mousewheel:true
});
}