#html #scroll #height #fixed
#HTML #прокрутка #высота #исправлено
Вопрос:
Я постоянно изучал, как исправить div при прокрутке выше 100%, а затем снова установить его, когда он ниже 100%.
Я использовал этот jsfiddle для работы, когда я хочу расположиться на определенной высоте пикселя.
Любая помощь была бы высоко оценена.
Альтернативно, исправление div, когда другой div отображается, может работать так же хорошо.
Заранее спасибо.
Вот код для jsfiddle.
function fixDiv() {
var $cache = $('#getFixed');
if ($(window).scrollTop() > 100)
$cache.css({'position': 'fixed', 'top': '10px'});
else
$cache.css({'position': 'relative', 'top': 'auto'});
}
$(window).scroll(fixDiv);
fixDiv();
Комментарии:
1. в чем проблема? Кажется, это работает в моей скрипке в Chrome
2. Я ищу высоту 100%, а не 100 пикселей.
3. также вы можете погуглить «sticky jquery plugin». многие другие люди создали хорошие плагины именно для этой вещи, которые обрабатывают все браузеры и множество других вещей, о которых вы не собираетесь сразу думать
4. Я не понимаю, вы хотите прокрутить выше 100%???
5. Ну, у меня есть веб-сайт с одной страницей, несколько разделов которого сделаны на 100% высотой окна. Под первым div есть второй и третий, поэтому, когда вы прокрутите вниз, чтобы увидеть те, что ниже, я бы хотел, чтобы меню последовало их примеру.
Ответ №1:
просто расположите меню в верхней части экрана с фиксированным расположением :
#myMenu{
position : fixed;
top : 10px;
left : 10px;
}
Из ваших комментариев я думаю, что это то, чего вы пытаетесь достичь. Это будет действовать следующим образом :
У вас есть <div>
со 100% высотой, вы нажимаете кнопку, и страница прокручивается вниз до следующего div, высота которого равна 100%. Затем вы можете щелкнуть, чтобы перейти к следующему или последнему <div>
. Между тем меню всегда остается на одном и том же месте. Вот что означает фиксированное позиционирование. независимо от того, где вы прокручиваете это меню, div всегда будет оставаться в том же месте.
Редактировать
попробуйте это, если вы хотите, чтобы меню скрывалось во время прокрутки, а затем появлялось снова в том же месте.
$(document).scroll(function(){
$('#myMenu').hide();
});
тогда вам пришлось бы показывать снова, вы можете найти решение с точным кодом, который работает, но это идея
Комментарии:
1. Привет, спасибо, что нашли время ответить так много об этом. Единственная проблема с этим заключается в том, что в идеале я бы хотел, чтобы меню не перемещалось вниз по 1-му div. И тогда он подберет тот же, но отдельный элемент меню, который расположен ниже отметки 100%. Возможно, я действительно плохо объясняюсь.
2. @user3182759 — отредактировано, если это в конечном итоге решит вашу проблему, тогда примите ответ, если нет, то, возможно, обновите вопрос, чтобы другие могли помочь