【发布时间】:2023-03-21 20:35:02
【问题描述】:
脚本一般在html文件的表单头部分添加:
<script src="/Scripts/jquery-3.1.1.min.js"></script>
<script src="/Scripts/bootstrap.min.js"></script>
MVC .NET 框架,默认情况下它在底部使用它们,在页脚之后如下:
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
问题: 我检查了 DOM 并添加了它们。在布局底部使用渲染,不会使 .affix 等 jQuery 功能正常工作。但是如果我在视图顶部包含 same 两个脚本,它就可以工作。 示例:
DOM (NOT Work):
<body data-target="#mysidebar" data-spy="scroll">
<section>
<div class="container">
<div id="mysidebar" class="col-md-3">
... Sidebar content
</div>
<div class="col-md-9">
... Content
</div>
</section>
</body>
<footer></footer>
<script src="/Scripts/jquery-3.1.1.min.js"></script>
<script src="/Scripts/bootstrap.min.js"></script>
DOM (Works):
<body data-target="#mysidebar" data-spy="scroll">
<script src="/Scripts/jquery-3.1.1.min.js"></script> <-- Added them here too make it work!
<script src="/Scripts/bootstrap.min.js"></script>
<section>
<div class="container">
<div id="mysidebar" class="col-md-3">
... Sidebar content
</div>
<div class="col-md-9">
... Content
</div>
</section>
</body>
<footer></footer>
<script src="/Scripts/jquery-3.1.1.min.js"></script>
<script src="/Scripts/bootstrap.min.js"></script>
解决方案
After trying many things this worked:
<body data-target="#mysidebar" data-spy="scroll">
<section>
<div class="container">
<div id="mysidebar" class="col-md-3">
... Sidebar content
</div>
<div class="col-md-9">
... Content
</div>
</section>
</body>
<footer></footer>
<script src="/Scripts/jquery-3.1.1.js"></script>
<script src="/Scripts/bootstrap.min.js"></script>
<script src="/Scripts/jquery.easing.min.js"></script>
<script src="/Scripts/classie.js"></script>
<script src="/Scripts/cbpAnimatedHeader.js"></script>
<script src="/Scripts/site.js"></script> <-- updated queries
【问题讨论】:
-
您的脚本引用是否在部分页面上?
-
你看过控制台日志吗?请记住,通常 jQuery 在其他需要它的脚本之前首先加载,方法是放置在
<head>标记内。 -
将它们放在底部让内容加载更快
标签: jquery .net asp.net-mvc razor