Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Сохранить положение прокрутки в div (продолжение) (https://javascript.ru/forum/dom-window/64366-sokhranit-polozhenie-prokrutki-v-div-prodolzhenie.html)

кирикала 05.08.2016 23:53

Сохранить положение прокрутки в div (продолжение)
 
вообщем продолжение работы со скроллом

http://javascript.ru/forum/dom-windo...tki-v-div.html

и

http://javascript.ru/forum/misc/2645...o-skrolla.html

две статьи с описание работы со скроллом (сохранить/установить и т.д.)

склепаный скрипт все равно не сохраняет скролл, почему????? ппц какой-то =(
var wDelta = 100;
    function scrollDoc(e) {
        if (!e) e = event;
        if (e.preventDefault) { e.preventDefault(); } else { e.returnValue = false; }
        var __delta = e.wheelDelta || -e.detail;
        __delta /= Math.abs(__delta);
        document.getElementById('myscrollid').scrollLeft -= __delta * wDelta; // FF, Opera, IE
        if (this.attachEvent) return false;
        document.getElementById('myscrollid').scrollLeft -= __delta * wDelta; // Chrome
    }
    window.onload = function() {
        var mydiv = document.getElementById('myscrollid');
        if (mydiv.attachEvent) {
            mydiv.attachEvent("onmousewheel", scrollDoc); // IE and Opera
        } else {
            mydiv.addEventListener("DOMMouseScroll", scrollDoc, false); // FF
            mydiv.addEventListener("mousewheel", scrollDoc, false); // Chrome
        }
    }


+ в добавок отфонарный ДИВ на скролл по иксу

<div id="myscrollid" style="position:absolute; left: 100px; width:500px; background:red; height:300px;overflow: auto;">
453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs 
453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs453tewfgsdfvsdvvsdsdvs453tewfgsdfvsdvvsdsdvs453tewfgsdfvsdvvsdsdvs453tewfgsdfvsdvvsdsdvs453tewfgsdfvsdvvsdsdvs453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs  v453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs
</div>

колесиком мышки крутит горизонтально в диве все оке норм а вот сохранять только еси вписать .body как в оригинале http://javascript.ru/forum/misc/2645...o-skrolla.html

рони 06.08.2016 00:09

кирикала,
где код с проблемой?

рони 06.08.2016 00:49

сохранение горизонтального скрола
 
кирикала, :(
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  #myscrollid {
      position:absolute; left: 100px; width:500px; background:red; height:300px;overflow: auto;
  }

  </style>

  <script>
   window.addEventListener('DOMContentLoaded', function() {
   var div = document.querySelector('#myscrollid');
   var scroll = localStorage.getItem('scroll')||0;
   div.scrollLeft = scroll;
   function wheel(event) {
                event.preventDefault();
                var delta = 0;
                if (event.wheelDelta) delta = event.wheelDelta / 120;
                else if (event.detail) delta = -event.detail / 3;
                div.scrollLeft += delta * 30;
    }

   div.addEventListener("mousewheel", wheel, false);
   div.addEventListener("DOMMouseScroll", wheel, false)

   div.addEventListener('scroll', function() {
   localStorage.setItem('scroll', div.scrollLeft);
   })
   });
  </script>
</head>

<body>
<div id="myscrollid" >
453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs
453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs453tewfgsdfvsdvvsdsdvs453tewfgsdfvsdvvsdsdvs453tewfgsdfvsdvvsdsdvs453tewfgsdfvsdvvsdsdvs453tewfgsdfvsdvvsdsdvs453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs  v453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs 453tewfgsdfvsdvvsdsdvs
</div>
</body>
</html>

warren buffet 06.08.2016 05:11

Что вы делаете? Прокрутка колесом чего угодно в браузерах реализована уже 100500 лет назад. В том числе в диве будет все крутиться и вертеться если он overflow:auto. Что, кстати и задалбывает когда указателю встречается много таких дивов: вместо скролла страницы он радостно начинает скроллить скрытый контент.

ТС, ты хотя бы год той статьи посмотри. Шесть лет уже прошло, по меркам компьютерной индустрии - 6000 лет.

Если ты хочешь прикрутить себе модный респозибле скробар, так это тебе сперва надо его нарисовать.

кирикала 06.08.2016 09:05

кроче хз копипастом в нотпад, открываю в хроме, не сохраняет всеравно скрол хз разберусь

код рабочий понятно спс народ

рони 06.08.2016 10:05

кирикала,
не локально надо проверять, а с сервера


Часовой пояс GMT +3, время: 10:45.