我在Model View Controller项目中遇到了一个独特的问题,该问题发生在共享布局中。我已经导入了几个脚本和样式表。

    <!-- Script: -->
    <script src="../../content/scripts/jquery.min.js"></script>
    <script src="~/Content/Scripts/Navigation.js" type="text/javascript"></script>

    <!-- Stylesheet: -->
    <link href="~/Content/Stylesheet/Skin.css" rel="stylesheet" />
    <link href="~/Content/Stylesheet/Navigation.css" rel="stylesheet" />


因此,我在Navigation.css中具有相关的Navigation数据,可以处理特定的布局,然后在Navigation.js中,它将通过添加特定元素来处理对根布局的特定修改,如下所示:

$(function () {
     if(screen.width < 768 || screen.width < 1024) {
         $("nav").addClass(".Desktop-Navigation");
     }
});


但是当它在单独的文件中时,似乎忽略了该代码。即使我也没有包含根,但是代码在http://jsfiddle.net中正常工作。

我不确定问题或原因。

我忘了提到我确实尝试了以下操作:


我尝试做$(document).ready
将脚本移动到页面上加载的最后一项。


addClass上方的代码始终会执行,但addClass部分实际上不会执行。这是上面始终执行的代码:

$(function () {
     $("#Toggle-Menu").click( function () {
          $("nav").animate({ height: 'toggle' }, 500);
     });
});


这是模型视图控制器如何呈现视图的问题,为什么会这样?

最佳答案

听起来您的JavaScript在完全呈现HTML之前正在执行。您的jsfiddle可能已配置为可以在文档就绪时执行,这一事实进一步证明了这一点。结果,尝试包装函数也已准备好文档。

$(document).ready(function () {
    if(screen.width < 768 || screen.width < 1024) {
        $("nav").addClass(".Desktop-Navigation");
    }
});

关于c# - 多文件问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23588867/

10-10 13:57
查看更多