Я новичок в jQuery и успешно реализовал этот код, который заставляет мой заголовок закрепляться, когда пользователь прокручивает вниз 100 пикселей
Однако при использовании медиа-запросов я уменьшил высоту до 80 пикселей в max-width
из 650 пикселей и, следовательно, для 650 пикселей и ниже мне нужно jQuery для срабатывания при прокрутке 80 пикселей, а не 100 пикселей.
Есть ли способ объединить медиа-запросы с jQuery?
Мой jQuery пока что это:
jQuery(window).scroll(function(){
if (jQuery(window).scrollTop() >= 100) {
jQuery('#masthead').addClass('fixed-header');
}
else {
jQuery('#masthead').removeClass('fixed-header');
}
});
CSS
.fixed-header {
position: fixed !important;
top: 0;
width: 100%;
}
У меня была трещина, и я попробовал это:
if ($(window).width() >= 651) {
jQuery(window).scroll(function(){
if (jQuery(window).scrollTop() >= 100) {
jQuery('#masthead').addClass('fixed-header');
}
else {
jQuery('#masthead').removeClass('fixed-header');
}
});
}
else {
jQuery(window).scroll(function(){
if (jQuery(window).scrollTop() >= 80) {
jQuery('#masthead').addClass('fixed-header');
}
else {
jQuery('#masthead').removeClass('fixed-header');
}
});
}
}
И
if ( pageWidth > 651 ) {
jQuery(window).scroll(function(){
if (jQuery(window).scrollTop() >= 100) {
jQuery('#masthead').addClass('fixed-header');
}
else {
jQuery('#masthead').removeClass('fixed-header');
}
});
}
else {
jQuery(window).scroll(function(){
if (jQuery(window).scrollTop() >= 80) {
jQuery('#masthead').addClass('fixed-header');
}
else {
jQuery('#masthead').removeClass('fixed-header');
}
});
}
}
Но ни одна из них не работает.
** Отредактировано
Я сделал здесь JSFiddle https://jsfiddle.net/shereewalker/2r8Lcn7j/36/
Я намерен гарантировать, что второй заголовок прилипнет, когда достигнет вершины, которая в настоящее время работает так, как я хочу. Но когда я уменьшаю высоту верхнего заголовка с 650 пикселей и ниже до 80 пикселей, происходит скачок, поскольку липкая позиция второго заголовка по-прежнему применяется к scrollTop
100 пикселей.
Любая помощь будет очень принята