Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 17.11.2014
Сообщений: 46

Запоминать место контента при скролле

19.01.2016, 13:42. Показов 1718. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
при маленьких разрешениях, меню при скролле зафиксировано.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$(document).ready(function () {
    var $menu = $("#menu");
    $(window).scroll(function () {
        if ($(this).scrollTop() > 40) {
            $menu.fadeOut('fast', function () {
                $(this).addClass("fixed")
                       .fadeIn('fast');
            });
        } else if ($(this).scrollTop() <= 40) {
            $menu.fadeOut('fast', function () {
                $(this).removeClass("fixed")
                       .fadeIn('fast');
            });
        }
    });
});
когда мы промотаем контент и откроем меню, то контент не сохраняет место и прокручивается вначало, так как при открытии меню на body вешается position: fixed.

помогите пожалуйста при помощи js запоминать место контента при открытии меню
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.01.2016, 13:42
Ответы с готовыми решениями:

Место вывода основного контента
Подскажите пожалуйста как задать место вывода основного контента. Весь контент, привязанный к пунктам меню отображается в...

Отступить от верха при скролле
Товарищи, прошу помощи в такой задачке : есть некий div у которого есть background-image . Размер картинки-фона устанавливаются с...

Прокуртка блока при скролле
Добрый день, как можно реализовать по блочный скролл? Пример: http://muse-widgets.ru/demo/applescroll/

6
0 / 0 / 0
Регистрация: 17.11.2014
Сообщений: 46
19.01.2016, 13:46  [ТС]
скрин приложил

это когда отрыто меню
HTML5
1
2
3
4
<body class="open">
<header id="menu" class="fixed"></header>
<div class="content">контент</div>
</body>
CSS
1
2
3
4
5
6
body.open {
overflow: hidden;
position: fixed;
width: 100%;
top: 0;
}
Миниатюры
Запоминать место контента при скролле  
0
23 / 23 / 9
Регистрация: 09.07.2014
Сообщений: 95
19.01.2016, 15:41
Сам такую штуку делал сегодня, получилось так:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
<body id="body">
<nav id="canvas-navigation">
</nav>
<div id="canvas-body">
  <header>
    <button id="hamburger"><img src="/assets/img/burger.svg"></button>
  </header>
  <div id="view">
  </div>
  <div id="overlay"></div>
</div>
</body>
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
$canvas-navigation-width: 300px;
 
#canvas-body {
  background-color: white;
  left: 0;
  position: relative;
  -webkit-transition: left 0.1s;
  transition: left 0.1s;
}
 
#overlay {
  bottom: 0;
  display: none;
  position: fixed;
  top: 0;
  width: 100%;
}
 
#canvas-navigation {
  background-color: white;
  bottom: 0;
  display: block;
  left: 0;
  overflow-x: hidden;
  overflow-y: scroll;
  position: fixed;
  top: 0;
  width: $canvas-navigation-width;
}
 
body {
  overflow-x: hidden;
  &.is--pushed-right {
    overflow-y: hidden;
    #canvas-body {
      left: $canvas-navigation-width;
      #overlay {
        background-color: rgba(0, 0, 0, 0.1);
        display: block;
      }
    }
  }
}
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
    var hamburger = document.getElementById('hamburger');
    var overlay = document.getElementById('overlay');
    var body = document.getElementById('body');
    var scrollTop = 0;
    hamburger.addEventListener('click', function() {
      scrollTop = body.scrollTop;
      body.classList.add('is--pushed-right');
      body.scrollTop = scrollTop;
    }, false);
    overlay.addEventListener('click', function() {
      body.classList.remove('is--pushed-right');
    }, false);
0
0 / 0 / 0
Регистрация: 17.11.2014
Сообщений: 46
19.01.2016, 16:53  [ТС]
у вас есть живой пример? так вообще ничего не понятно

Добавлено через 6 минут
если вы в своем примере зафиксируете header и поставите при открытии меню для body position: fixed, то у вас контент тоже не будет запоминать место.
0
23 / 23 / 9
Регистрация: 09.07.2014
Сообщений: 95
19.01.2016, 20:05
FBPMInc, весь код на работе. Собственно, оттуда и взял. Попробую в JSFiddle набросать. Запоминается положение контента с помощью яваскрипта (вешаем обработчик события на кнопку меню):

1. Запоминаем body.scrollTop
2. Добавляем класс к body, в вашем случае open. body.scrollTop автоматически становится равным 0
3. Присваиваем body.scrollTop сохраненное в шаге 1 значение

Добавлено через 52 минуты
FBPMInc, Готово, https://jsfiddle.net/yycfmuwt/. Весь код с комментариями.
0
0 / 0 / 0
Регистрация: 17.11.2014
Сообщений: 46
20.01.2016, 11:23  [ТС]
https://jsfiddle.net/yycfmuwt/3/
когда body.open добавили position:fixed, контент перестал запоминать место.

мне нужно сделать, чтоб он запоминал
0
23 / 23 / 9
Регистрация: 09.07.2014
Сообщений: 95
20.01.2016, 11:39
Цитата Сообщение от FBPMInc Посмотреть сообщение
position:fixed
Не помню точно, но я тоже, вроде, как-то раз мучился с position: fixed. Потом оказалось, что он не нужен и я использовал вместо этого overflow: hidden. Нашел решение в инете, кажется.

Предлагаю выкинуть position: fixed.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.01.2016, 11:39
Помогаю со студенческими работами здесь

Фиксированное меню при скролле
Всем привет. Я заметил одну интересную шапку у лпгенератор(не реклама). У них при скролле появляется меню, слева логотип, по...

Анимация только при скролле.
Хочу чтобы у меня работала анимация только при скролле! &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta...

Смена background'a при скролле
У меня сайт начинается с div'a: .header {width: 100%; height: 600px; background: url(/resource/img/12.jpg); background-repeat:...

Фиксатор меню(при скролле)
Собственно, проблема заключается в том, что меню отказывается фиксироваться при скролле. &lt;div id=&quot;header&quot;&gt; ...

Загрузка gif при скролле
Здравствуйте, хочу сделать загрузку gif анимаций при скролле. Код для скролла я смог сделать, есть проблема. gif анимация полностью...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru