为什么jQuery不能在Microsoft Visual Studio 2010中运行?

我在MS Visual Studio 2010中创建了一个ASP.NET MVC 2 Web应用程序。现在我需要使用JQuery为它添加样式。为了在div中创建图像幻灯片,我编写了一个JQuery文件并尝试链接它与我的View Master Page。 但是当我尝试运行我的项目时,Visual Studio会告诉“Microsoft JScript运行时错误:’jQuery’未定义”..你们中的任何人都可以帮我解决这个问题吗? …谢谢 :)

here's the code I have given within my jQuery /*Coding : Nidhin & Eldhose*/ function slideSwitch() { var $active = $('#Left_Image DIV.active'); if ($active.length == 0) $active = $('#Left_Image DIV:last'); // use this to pull the divs in the order they appear in the markup var $next = $active.next().length ? $active.next() : $('#Left_Image DIV:first'); // uncomment below to pull the divs randomly // var $sibs = $active.siblings(); // var rndNum = Math.floor(Math.random() * $sibs.length ); // var $next = $( $sibs[ rndNum ] ); $active.addClass('last-active'); $next.css({ opacity: 0.0 }) .addClass('active') .animate({ opacity: 1.0 }, 1000, function () { $active.removeClass('active last-active'); }); } $(function () { setInterval("slideSwitch()", 5000); }); 

在尝试使用它之前,您可能忘记引用jquery脚本:

  

确保你已经包含了jQuery。

你的母版页应该有类似的东西

  

理想情况下,应该最后加载脚本,但是在尝试使用之前确保已经加载了jQuery。

Eldho,

我建议你重新访问slideSwitch()方法并整理出这类事物。 我甚至建议将slideSwitch()删除为:

 function slideSwitch() { var $active = $('#Left_Image DIV.active'); alert($active); } 

一点一点地从那里拿走它。 另外,使用firebug来查看封面下发生的事情。 最后,正如一些评论中所提到的,尝试加载jquery的本地副本,而不是CDN版本以防内容DNS等问题。

[编辑] – 忘了添加, 确保你的jquery js文件是你的自定义js文件之前顺序加载的! 即:

   

您是否在视图中嵌入了脚本? 如果是这样可能会导致问题。

在呈现页面并且在布局页面中的脚本之前按顺序呈现视图脚本时,会发生此问题。

例如,如果您在_Layout.cshtml页面底部重新启动jquery

     

并且您在视图中引用了例如jqueryvalidation

 

Edit

@using (Html.BeginForm())

您可以将视图中的脚本移动到脚本部分

 

Edit

@section scripts { } @using (Html.BeginForm())

并引用布局中的scripts部分,传递第二个参数,指示脚本部分是否是可选的。

  ...   @RenderSection("section", false)