我想立即在我的MVC应用程序中尝试使用Rellax(javascript视差库)。
因此,我在目标视图的@section scripts{<--->}中添加了rellax.js脚本链接(无捆绑)和rellax的几行脚本。
现在,当我尝试运行控制台响应时抛出错误


  未捕获的错误:您尝试选择的元素不存在。
      在新g处(rellax.min.js:1)


我在Rellax Github上读过类似的问题,他说使用rellax.js而不捆绑每个页面。但是我在一个视图中使用了rellax.js和标签而不进行捆绑
这是我的.cshtml

    <div class="rellax-header rellax-header-sky" data-rellax-speed="-8" style="transform: translate3d(0px, 421px, 0px);">
        <div class="page-header-image" style="background-image:url(@backPath)">
        </div>
    </div>
    <div class="rellax-header rellax-header-buildings" data-rellax-speed="0" style="transform: translate3d(0px, 0px, 0px);">
        <div class="page-header-image page-header-city" style="background-image:url(@imagePath)">
        </div>
    </div>
    <div class="rellax-text-container rellax-text" style="transform: translate3d(0px, 128px, 0px);">
        <h1 class="h1-seo" data-rellax-speed="-2">Test</h1>
        <div class="pro">PRO</div>
    </div>
@section Scripts {
<script src="~/js/plugins/rellax.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            if ($(window).width() >= 991) {
                setTimeout(function () {
                    var rellax = new Rellax('.rellax', {
                        center: true
                    });
                }, 5000);

                var rellaxHeader = new Rellax('.rellax-header');
                var rellaxText = new Rellax('.rellax-text');
            }
        });
    </script>
}


我哪里错了?
有什么想法吗?

最佳答案

我能够在本地复制错误。如果您更改脚本标签以使用完整版本的rellax.js:

<script src="~/js/plugins/rellax.js" type="text/javascript"></script>


它也会给你一个类似的堆栈跟踪:

rellax.js:100 Uncaught Error: The elements you're trying to select
   don't exist.
at new Rellax (rellax.js:100)
at Index:68


索引:68对我来说是:

var rellax = new Rellax('.rellax', {


这是因为不存在带有“ rellax”类的元素

为了解决该错误,我也更改了第一个div:

<div class="rellax rellax-header-sky" data-rellax-speed="-8">


因此,存在一个具有“ rellax”类的元素

07-24 19:33