Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.08.2016, 22:25
Интересующийся
Отправить личное сообщение для кирикала Посмотреть профиль Найти все сообщения от кирикала
 
Регистрация: 03.08.2016
Сообщений: 21

Сохранить положение прокрутки в div
Как сохранить положение прокрутки в div при overflow: auto; при перезагрузке страницы/выключении компьютера ? Дайте люди плз хоть кто-нить краткий и понятный код в одну строку ....
Ответить с цитированием
  #2 (permalink)  
Старый 03.08.2016, 23:32
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Тут как минимум две. Одна на сохранение положения прокрутки в куках, другая для загрузки из кук и мотания обратно. Так что сперва определись в одну или в больше.
Ответить с цитированием
  #3 (permalink)  
Старый 04.08.2016, 00:26
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

кирикала,
window.onscroll = function() {
	localStorage.setItem('value', window.pageYOffset);
};

localStorage.getItem('value') && window.scrollTo(0, localStorage.getItem('value'));
Ответить с цитированием
  #4 (permalink)  
Старый 04.08.2016, 05:07
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Decode, А вот и не угадал. ему надо див скроллить. )))
Ответить с цитированием
  #5 (permalink)  
Старый 04.08.2016, 05:35
Интересующийся
Отправить личное сообщение для кирикала Посмотреть профиль Найти все сообщения от кирикала
 
Регистрация: 03.08.2016
Сообщений: 21

Сообщение от Decode Посмотреть сообщение
кирикала,
window.onscroll = function() {
	localStorage.setItem('value', window.pageYOffset);
};

localStorage.getItem('value') && window.scrollTo(0, localStorage.getItem('value'));
тут надо вставит наверно гдето, правильно?
document.getElementById('div')
Ответить с цитированием
  #6 (permalink)  
Старый 04.08.2016, 07:26
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Сообщение от кирикала
правильно
Правильно. Вместо window.pageYOffset тебе надо document.getElementById('div').scrollTop и это будет первая строка, над второй еще надо думать.
Ответить с цитированием
  #7 (permalink)  
Старый 04.08.2016, 07:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Сохранение вертикальной прокрутки блока
кирикала,
https://learn.javascript.ru/metrics
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  #slider {
       width: 200px;
       height: 100px;
       overflow: auto;
  }

  </style>

  <script>
   window.addEventListener('DOMContentLoaded', function() {
   var div = document.querySelector('#slider');
   var scroll = localStorage.getItem('scroll')||0;
   div.scrollTop = scroll;
   div.addEventListener('scroll', function() {
   localStorage.setItem('scroll', div.scrollTop);
   })
   });
  </script>
</head>

<body>
<div id="slider"><P>LOREM IPSUM DOLOR SIT AMET, CONSECTETUR ADIPISCING ELIT. AUDEO DICERE, INQUIT. QUID ERGO ALIUD INTELLEGETUR NISI UTI NE QUAE PARS NATURAE NEGLEGATUR? DIC IN QUOVIS CONVENTU TE OMNIA FACERE, NE DOLEAS. DUO REGES: CONSTRUCTIO INTERRETE. </P></div>

</body>
</html>
Ответить с цитированием
  #8 (permalink)  
Старый 04.08.2016, 07:31
Интересующийся
Отправить личное сообщение для кирикала Посмотреть профиль Найти все сообщения от кирикала
 
Регистрация: 03.08.2016
Сообщений: 21

спасибки Рони
Ответить с цитированием
  #9 (permalink)  
Старый 04.08.2016, 07:34
Интересующийся
Отправить личное сообщение для кирикала Посмотреть профиль Найти все сообщения от кирикала
 
Регистрация: 03.08.2016
Сообщений: 21

ток чет если вчитаться оно как то сложно, вроде бы действие то нужно всего лишь сохранить да вывести переменную, думала аля в одну две строки получится
Ответить с цитированием
  #10 (permalink)  
Старый 04.08.2016, 07:36
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Короче

window.addEventListener('beforeunload',function(){

	var id='yourdiv',div=document.getElementById(id);
	if(localStorage && div) localStorage.setItem(id,div.scrollTop);

});

window.addEventListener('load',function(){

	var id='yourdiv',y=localStorage.getItem(id),div=document.getElementById(id);
	if(y && div) div.scrollTop=y;

});


Но тебе не подойдет, ибо тут очень много строк, а тебе надо одну.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обработчик событий для динамически добавленных элементов Tecvid Events/DOM/Window 28 25.06.2018 13:49
div - нет полосы прокрутки на смартфоне torsar (X)HTML/CSS 1 28.06.2015 15:29
Зафиксировать div на время прокрутки пока происходит анимация Medvedoc jQuery 1 30.03.2015 09:36
При наведении на элемент появление div, положение которого постоянно меняется Poision Элементы интерфейса 5 27.01.2014 19:43
div в конец полосы прокрутки vladimircape Events/DOM/Window 1 03.05.2012 03:11