#javascript #jquery #angular
#javascript #jquery #угловой
Вопрос:
Я пытаюсь применить стиль к своей панели навигации, особенно когда я нахожусь на любой странице, отличной от индексной страницы, однако, похоже, я не могу заставить его работать, и я не уверен, в чем проблема.
Вот мой скрипт:
$(document).ready(function(){
if (window.location.pathname != "") {
$('#main-nav').css('background-color', 'black');
}
});
Я использую Angular 10, если это имеет значение.
Комментарии:
1. вы проверили, какое утешительное окно. Расположение. имя пути на каждой странице
2. $(документ). возможно, ready был вызван еще до загрузки вашей страницы. Поскольку вы используете angularjs. Можете ли вы попробовать тот же сценарий при загрузке представления? Например, событие $viewContentLoaded .
3. @NurbekBoymurodov Я попробовал и вернул правильный путь, однако я заметил, что индексная страница была «/», а не просто «». Исправление этого решило проблему. Я также пробовал использовать . загрузка, но это не сработало, поэтому я вернулся к использованию .ready.
4. ИЛИ используйте AfterViewInit .
Ответ №1:
Вы не упомянули, каков путь вашего индекса. Я думаю, это может быть «/» или «индекс». Проверьте свой путь к индексу, затем сравните путь в вашем коде
if (window.location.pathname != ""
|| window.location.pathname != "/"
|| window.location.pathname != "index") {
$('#main-nav').css('background-color', 'black');
}
Ответ №2:
Поскольку вы используете Angular 10, вы используете маршрутизатор и добавляете стиль, это очень просто.
Угловой маршрутизатор Вводит угловой маршрутизатор в ваш файл component.ts
Constructur(public router: Router){
//After Logging check the url string and add it to the ngClass condition
console.log(router.url);
}
Затем в вашем html-файле в вашем случае в html-файле navbar к тегу navbar добавьте ngClass. Директива ngClass
[ngClass]="{'customStyle': router.url=== '/'}"
В вашем css-файле компонента navbar.
.customStyle{
background-color: "black"
}
Ответ №3:
пожалуйста, попробуйте это:
$(document).ready(function(){
if (window.location.pathname != "" || window.location.pathname.indexOf("index")>0) {
$('#main-nav').css('background-color', 'black');
}
});