#javascript #jquery
Вопрос:
У меня есть этот код:
$(document).ready(function(){
$(window).scroll(function(){
if($(window).scrollTop() > 1){
$("#navbar").css({"height":"10vh"});
$("#logo").css({"height":"4.5vh"});
$("#navbar-content").css({"top":"4vh"});
$("#navbar-content").css({"right":"7vh"});
$("#navbar-content a").css({"font-size":"2vh"});
}
else{
$("#navbar").css({"height":"14vh"});
$("#logo").css({"height":"8vh"});
$("#navbar-content").css({"top":"5.6vh"});
$("#navbar-content").css({"right":"10vh"});
$("#navbar-content a").css({"font-size":"2.4vh"});
}
})
})
Он меняет навигатор, когда вы не находитесь в верхней части сайта. Я также не хотел, чтобы мой сайт реагировал, и я изменил способ отображения навигации при ширине экрана >1250 пикселей. Я не знаю, как прекратить выполнение этого кода, когда экран меньше. Я пробовал что-то подобное:
$(document).ready(function(){
$(window).scroll(function(){
if($(window).width() > 1250){
if($(window).scrollTop() > 1){
$("#navbar").css({"height":"10vh"});
$("#logo").css({"height":"4.5vh"});
$("#navbar-content").css({"top":"4vh"});
$("#navbar-content").css({"right":"7vh"});
$("#navbar-content a").css({"font-size":"2vh"});
}
else{
$("#navbar").css({"height":"14vh"});
$("#logo").css({"height":"8vh"});
$("#navbar-content").css({"top":"5.6vh"});
$("#navbar-content").css({"right":"10vh"});
$("#navbar-content a").css({"font-size":"2.4vh"});
}
else{
if($(window).scrollTop() > 1){
$("#navbar").css({"height":"10vh"});
$("#logo").css({"height":"4.5vh"});
$("#navbar-content").css({"top":"4vh"});
$("#navbar-content").css({"right":"7vh"});
$("#navbar-content a").css({"font-size":"2vh"});
}
else{
$("#navbar").css({"height":"10vh"});
$("#logo").css({"height":"4.5vh"});
$("#navbar-content").css({"top":"4vh"});
$("#navbar-content").css({"right":"7vh"});
$("#navbar-content a").css({"font-size":"2vh"});
}
}
})
})
Это работает до тех пор, пока я не прокручу немного вниз. Тогда это не сработает.
Комментарии:
1. рассмотрите возможность использования имен классов и медиа — запросов-это значительно упростит обслуживание и устранение неполадок.
2. Это — прокрутите вниз, чтобы увидеть изменения класса в зависимости от ширины экрана developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/…
3.
@media (device-width > 12500px) { style content }
Ответ №1:
То, что вы ищете, — это window.matchMedia
функция.
Используйте его таким образом, чтобы определить размер экрана перед выполнением определенного блока кода:
if (matchMedia('(min-width: 1250px)').matches) {
// do stuff for over 1250 pixels
}