我想立即在我的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”类的元素