ASP.NET MVC 5在View.cshtml文件中编写javascript
我是ASP.NET新手,我正在MVC中努力使用javascript。 我在视图文件夹中有一个IndexView.cshtml文件,我想在里面写一个简短的javascript部分,用一个按钮将站点移回顶部。 它在正常的html中工作得非常好,就是这样。 通常,每当我从网站顶部向下滚动时,就会出现一个按钮,当我返回到最顶部时,按钮就会消失。在这里它根本没有出现。 我该怎么做才能让它工作? 提前谢谢 这是我在IndexView.cshtml中的身体末尾,就在标记之前 这是脚本文件夹/Scripts/move-top.js中move-top.js的一部分ASP.NET MVC 5在View.cshtml文件中编写javascript,javascript,jquery,asp.net,asp.net-mvc,razor,Javascript,Jquery,Asp.net,Asp.net Mvc,Razor,我是ASP.NET新手,我正在MVC中努力使用javascript。 我在视图文件夹中有一个IndexView.cshtml文件,我想在里面写一个简短的javascript部分,用一个按钮将站点移回顶部。 它在正常的html中工作得非常好,就是这样。 通常,每当我从网站顶部向下滚动时,就会出现一个按钮,当我返回到最顶部时,按钮就会消失。在这里它根本没有出现。 我该怎么做才能让它工作? 提前谢谢 这是我在IndexView.cshtml中的身体末尾,就在标记之前 这是脚本文件夹/Scripts/m
(function ($) {
$.fn.UItoTop = function (options) {
var defaults = {
text: 'To Top', min: 200, inDelay: 600, outDelay: 400, containerID: 'toTop', containerHoverID: 'toTopHover',
scrollSpeed: 1200, easingType: 'linear'
}, settings = $.extend(defaults, options), containerIDhash = '#' + settings.containerID, containerHoverIDHash = '#' + settings.containerHoverID;
$('body').append('<a href="#" id="' + settings.containerID + '">' + settings.text + '</a>');
$(containerIDhash).hide().on('click.UItoTop', function ()
{
$('html, body').animate({ scrollTop: 0 }, settings.scrollSpeed, settings.easingType);
$('#' + settings.containerHoverID, this).stop().animate({ 'opacity': 0 }, settings.inDelay, settings.easingType); return false;
}).prepend('<span id="' + settings.containerHoverID + '"></span>').hover(function ()
{ $(containerHoverIDHash, this).stop().animate({ 'opacity': 1 }, 600, 'linear'); }, function ()
{ $(containerHoverIDHash, this).stop().animate({ 'opacity': 0 }, 700, 'linear'); });
$(window).scroll(function () {
var sd = $(window).scrollTop();
if (typeof document.body.style.maxHeight === "undefined")
{
$(containerIDhash).css({
'position': 'absolute', 'top': sd + $(window).height() - 50
});
}
if(sd>settings.min)
$(containerIDhash).fadeIn(settings.inDelay);else
$(containerIDhash).fadeOut(settings.Outdelay);});};})(jQuery);
看起来您的js代码依赖于jQuery库。这意味着您需要在执行此代码之前加载jQuery代码 在布局文件中,@RenderSectionscripts,required:false在加载jQuery库后在最底层被调用
<div id="pageContent">
@RenderBody()
</div>
@Scripts.Render("~/bundles/jquery")
@RenderSection("scripts", required: false)
看起来您的js代码依赖于jQuery库。这意味着您需要在执行此代码之前加载jQuery代码 在布局文件中,@RenderSectionscripts,required:false在加载jQuery库后在最底层被调用
<div id="pageContent">
@RenderBody()
</div>
@Scripts.Render("~/bundles/jquery")
@RenderSection("scripts", required: false)
@TheGalax你记得引用你的javascript文件吗 -添加jQuery-
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="/Scripts/move-top.js"></script>
@TheGalax你记得引用你的javascript文件吗 -添加jQuery-
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="/Scripts/move-top.js"></script>
我看这里没有问题。只是一个目标和一些代码。你有什么问题?什么不起作用?与其他网站一样,ASP.NET MVC视图基于HTML。是什么阻止您像在HTML文件中一样将JavaScript放入其中?哦,对不起,它就是不起作用;。通常在我的页面上,每当我从顶部向下滚动时,按钮就会出现,但在这里它不会出现。看起来它连我的代码都认不出来。你应该试着做一些基本的工作,并描述一下你在帖子中查到的内容。例如,确保正确加载脚本,在开发人员控制台中检查JavaScript错误,单步执行代码等等@mason现在我已经包括了完全在cshtml文件之外运行的其他脚本,例如,它们都工作得很好:这里没有问题。只是一个目标和一些代码。你有什么问题?什么不起作用?与其他网站一样,ASP.NET MVC视图基于HTML。是什么阻止您像在HTML文件中一样将JavaScript放入其中?哦,对不起,它就是不起作用;。通常在我的页面上,每当我从顶部向下滚动时,按钮就会出现,但在这里它不会出现。看起来它连我的代码都认不出来。你应该试着做一些基本的工作,并描述一下你在帖子中查到的内容。例如,确保正确加载脚本,在开发人员控制台中检查JavaScript错误,单步执行代码,等等@mason现在我已经包括了完全在cshtml文件之外运行的其他脚本,例如,它们都工作得很好:是,我是这样做的:发布完整的cshtml总是一个好主意,为你的问题提供更好的上下文@Shyju有次好的猜测:见上面的编辑是的,我这样做了:发布完整的cshtml总是一个好主意,为你的问题提供更好的上下文@Shyju有下一个最好的猜测:参见上面的编辑谢谢,我在我的脚本中添加了@section Scripts{},现在看起来它可以工作了:现在唯一缺少的是按钮是透明的,看起来.img没有正确加载。谢谢,我添加了@section Scripts{}对我的脚本来说,它现在看起来可以工作了:现在唯一缺少的是按钮是透明的,看起来.img没有正确加载。