Я столкнулся с уникальной проблемой с проектом 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.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);
});
});
Это проблема, связанная с тем, как Model View Controller отображает ее Views, почему это происходит?
Похоже, ваш JavaScript выполняется до того, как ваш HTML будет полностью отображен. Это подкрепляется тем фактом, что ваш jsfiddle, вероятно, настроен на выполнение на готовом документе. В результате, попытка упаковки вашей функции также является документом.
$(document).ready(function () {
if(screen.width < 768 || screen.width < 1024) {
$("nav").addClass(".Desktop-Navigation");
}
});