揭开延迟加载插件错误

时间:2017-04-27 18:37:58

标签: jquery jquery-lazyload

我正在尝试在我的c#.net mvc项目中使用unveil插件。我收到了这个错误。

jquery.unveil.js:13未捕获的TypeError:无法读取未定义的属性'fn'

jquery.unveil.js脚本文件位于Scripts文件夹中。以下是我的观点。

<div class="images">
    <img...
    <img...
    <img...
</div>

<script src="~/Scripts/jquery.unveil.js"></script>

    @Scripts.Render("~/bundles/jquery")

    <script>
        (function ($) {   
            $('img').unveil();
        });
</script>

我也尝试过使用

$( document ).ready(function() {
  $('img').unveil();
  });

并得到了错误:

jquery.unveil.js:13 Uncaught TypeError: Cannot read property 'fn' of undefined
    at jquery.unveil.js:13
    at jquery.unveil.js:56


jquery-1.10.2.js:3062 Uncaught TypeError: $(...).unveil is not a function
    at HTMLDocument.<anonymous> (UniMedEd:121)
    at fire (jquery-1.10.2.js:3062)
    at Object.fireWith [as resolveWith] (jquery-1.10.2.js:3174)
    at Function.ready (jquery-1.10.2.js:447)
    at HTMLDocument.completed (jquery-1.10.2.js:118)

第二个错误我假设即使在调用document.ready时unveil.js文件尚未加载。

任何建议都会很棒。

感谢。

1 个答案:

答案 0 :(得分:1)

jquery.unveil.js:13 Uncaught TypeError: Cannot read property 'fn' of undefined
    at jquery.unveil.js:13
    at jquery.unveil.js:56

L13:   $.fn.unveil = function(threshold, callback) {
L56:   })(window.jQuery || window.Zepto);

jQuery未定义。

在包含任何jQuery插件之前,你应该包含jQuery:

@Scripts.Render("~/bundles/jquery")
<script src="~/Scripts/jquery.unveil.js"></script>
<script>
    (function ($) {   
        $('img').unveil();
    });
</script>