Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 即使顺序正确,函数也没有定义?_Javascript_Jquery_Performance_Lazy Loading - Fatal编程技术网

Javascript 即使顺序正确,函数也没有定义?

Javascript 即使顺序正确,函数也没有定义?,javascript,jquery,performance,lazy-loading,Javascript,Jquery,Performance,Lazy Loading,我正在使用一个与jQuery一起工作的函数 我在我的liga.js文件中这样调用它: lazyload(); $(document).ready(function(){ lazyload(); ... 现在,在该页的页脚处,我有: <script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossor

我正在使用一个与jQuery一起工作的函数

我在我的liga.js文件中这样调用它:

lazyload();
$(document).ready(function(){
lazyload();
...
现在,在该页的页脚处,我有:

<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<script src="code.jquery.com/ui/1.12.1/jquery-ui.min.js" ></script>
<script src="/includes/jquery.lazyload.min.js"></script>
<script src="/includes/liga.js"></script>
我不断得到错误:

ReferenceError:未定义lazyload


这是为什么?

jQuery包装器的语法是
$(选择器).lazy()

$(函数(){
$('.iam')。懒惰({
/*在处理元素之前调用*/
加载前:函数(元素){
var imageSrc=element.data('src');
log('image'+imageSrc+'“即将加载”);
},
/*成功处理元素后调用*/
后载:功能(元件){
var imageSrc=element.data('src');
log('image'+imageSrc+'已成功加载');
},
/*无法处理元素时调用*/
onError:函数(元素){
var imageSrc=element.data('src');
log('image'+imageSrc+'“无法加载”);
},
/*处理完所有元素后调用*/
onFinishedAll:function(){
log('已完成加载所有图像');
}
});
});


加载页面后,您是否尝试过从控制台手动输入lazyload()?事实上,这可能是一个阻止代码完成的错误(作为回报,也可能是阻止lazyload被定义的错误)。让我知道控制台中有什么内容供您评论!我刚刚尝试键入lazyload(),得到了相同的错误:“ReferenceError:lazyload未定义”Marin Zeitler的答案有效吗?如果没有,可能是文件加载不正确。@Drakinite有一个“运行代码片段”按钮,这使得问题变得多余。哎呀,我的错。谢谢你的回答!!我正试图让它工作,但出于某种原因,可能是因为我没有使用数据src,而是src?@Rosamunda最有可能的原因是,
src
属性将立即加载,随后将不再允许延迟加载(它从
数据src
读取并附加
src
)。非精简源代码对此进行了解释:再次感谢您的澄清!我已经更改了它,但控制台显示$(…)。lazy不是一个函数now@Rosamunda您确定本地加载的脚本与jQuery lazyload相同吗?它有几个版本,它们可能会有所不同;我的示例使用默认版本,从CDN加载。我从您的示例复制了CDN链接,因此我想它应该可以工作。我会检查缓存,以防万一。。。也许是因为我使用的是jQuery 3.3.1?