Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   HELP!!! Нуб в беде ) (https://javascript.ru/forum/dom-window/84905-help-nub-v-bede.html)

WebMachine 02.02.2023 20:33

HELP!!! Нуб в беде )
 
Здравствуйте уважаемые обитатели форума) помогите пожалуйста настроить функцию вращения страниц) буду оч благодарен) Есть шаблон html сайта, хочу добавить возможность перелистывания ещё и с помощью колеса мыши.. По умолчанию в данный момент страницы листаются только с помощью стрелок на сайте. Но хотелось бы чтобы было 2 варианта, стрелками + колёсиком мыши.

рони 02.02.2023 21:42

Цитата:

Сообщение от WebMachine
с помощью колеса мыши..

let timerWheel;
        document.addEventListener("mousewheel", function(event) {
            window.clearTimeout(timerWheel);
            let delta = event.deltaY > 0;
            let sel = delta ? '[data-action="top"]' : '[data-action="bottom"]';
            let btn = document.querySelector(sel);
            timerWheel = window.setTimeout(function() {
                btn.click();
            }, 250)
        })

WebMachine 02.02.2023 21:50

Цитата:

Сообщение от рони (Сообщение 550389)
let timerWheel;
        document.addEventListener("mousewheel", function(event) {
            window.clearTimeout(timerWheel);
            let delta = event.deltaY > 0;
            let sel = delta ? '[data-action="top"]' : '[data-action="bottom"]';
            let btn = document.querySelector(sel);
            timerWheel = window.setTimeout(function() {
                btn.click();
            }, 250)
        })

Спасибо :)

WebMachine 02.02.2023 21:52

Цитата:

Сообщение от рони (Сообщение 550389)
код

но он чучуть зависает Рони

http://work/cube/HTML/

WebMachine 02.02.2023 21:54

Мне бы сделать так чтобы было так: https://www.jqueryscript.net/demo/3D...Transition-js/

WebMachine 02.02.2023 21:59

В общем он скролит если нажать за пределы тела сайта..
http://demo.pr-demo.96.lt/cube/

рони 02.02.2023 22:00

Цитата:

Сообщение от WebMachine
но он чучуть зависает Рони

250 подберите как вам более удобнее 30 - 1000

WebMachine 02.02.2023 22:02

Цитата:

Сообщение от рони (Сообщение 550396)
250 подберите как вам более удобнее 30 - 1000

Попробовал и 30 и 1000 все равно виснет.. Проблема в том что он не сразу реагирует на прокрутку колеса мыши

рони 02.02.2023 22:04

Цитата:

Сообщение от WebMachine
Проблема в том что он не сразу

так логику скрипта поменяйте

WebMachine 02.02.2023 22:05

Точнее нет. Он с запозданием реагирует если указать 1000.. Если указать 30 то реакция происходит оперативнее. Но проблема в итоге в том что при прокрутке он иногда 40% прокруток тормозит из-за появления скрола внутри страницы

WebMachine 02.02.2023 22:06

в общем он иногда прекращает крутить страницы и в этих случаях я вижу как появляется скрол страницы внутри тела текстовой информации.. И этот скрол заполненный и я не знаю почему он то появляется то нет

рони 02.02.2023 22:08

WebMachine,
let animate;
        document.addEventListener("mousewheel", function(event) {
            let delta = event.deltaY > 0;
            let sel = delta ? '[data-action="top"]' : '[data-action="bottom"]';
            let btn = document.querySelector(sel);
            if (!animate) {
                btn.click();
                animate = true;
                window.setTimeout(function() {
                    animate = false;
                }, 600)
            }
        })

WebMachine 02.02.2023 22:10

http://demo.pr-demo.96.lt/cube/

Обновил скрипт но все равно если покрутить вниз а потом два раза вверх то снова тормозит

WebMachine 02.02.2023 22:11

Это если нажать стрелкой мыши на текст.. Но если 1 раз нажать за пределы информации то норм крутит

WebMachine 02.02.2023 22:12

Может мне запрет поставить на скрол в этих блоках через css ?

рони 02.02.2023 22:15

WebMachine,event.preventDefault(); добавьте может поможет.
let animate;
        document.addEventListener("mousewheel", function(event) {
            event.preventDefault();
            let delta = event.deltaY > 0;
            let sel = delta ? '[data-action="top"]' : '[data-action="bottom"]';
            let btn = document.querySelector(sel);
            if (!animate) {
                btn.click();
                animate = true;
                window.setTimeout(function() {
                    animate = false;
                }, 600)
            }
        })

WebMachine 02.02.2023 22:18

Цитата:

Сообщение от рони (Сообщение 550407)
WebMachine,event.preventDefault(); добавьте может поможет.

Всё равно так же... Кстати попробовал 2 варианта с overflow:hidden и position: sticky; оба тоже не помогают

WebMachine 02.02.2023 22:19

Я так понял проблема сейчас уже в том что появляется скролинг полоса справа и она тормозит адекватное пролистывание

WebMachine 02.02.2023 22:21

В общем я в любом случае оч благодарен Рони) спасибо вы оч помогли и так. Надеюсь решить сам остальное с помощью css

рони 02.02.2023 22:24

WebMachine,
ок!

рони 02.02.2023 22:26

WebMachine,
может так ?)))
event.preventDefault(); event.stopPropagation();

WebMachine 02.02.2023 22:43

Цитата:

Сообщение от рони (Сообщение 550412)
WebMachine,
может так ?)))
event.preventDefault(); event.stopPropagation();

Не , это было уже из-за css ошибки) я её исправил и теперь всё норм..

http://demo.pr-demo.96.lt/cube/

Большое спасибо Рони) по больше бы таких как вы) я очень благодарен вам и честно скажу мечтаю когда нибудь знать всё так же как и вы) вы мой кумир

WebMachine 02.02.2023 22:45

Цитата:

Сообщение от рони (Сообщение 550412)
WebMachine,
может так ?)))
event.preventDefault(); event.stopPropagation();

Блин хотя мне показалось )) css только скролинг полосу убрал но торможение осталось из-за пролистывания текста внутри страницы

рони 02.02.2023 22:47

WebMachine,
:thanks:

WebMachine 02.02.2023 22:56

Цитата:

Сообщение от рони (Сообщение 550415)
WebMachine,
:thanks:

Блин) похоже убрав ccs значения я только убрал scroll и мне показалось что я нашел выход, но как оказалось ошибка осталась так ещё и внутри страницы образовался бесконечный скрол

рони 02.02.2023 23:00

WebMachine,
event.preventDefault(); event.stopPropagation(); это тоже бесполезно.

WebMachine 02.02.2023 23:08

В общем через просмотр кода элемента увидил как меняются два значения с классами: ps-scrollbar-x-rail и ps-scrollbar-y-rail и по ним пробовал все значения в css убрать.. И содержимое страниц начало скролится бесконечно что вниз что вверх. Затем вернул css значения попробовал поискать в js файлах. И нашел эти значения в файле vendor.js

Но он минимизирован да и я чайник не пойму там ничего.. Мне бы сделать так чтобы страница скролилась только если информация не вмещается на экран.. Просто сейчас текст занимает 40-60% возможной области и он все равно тормозит из-за активации скрола внутри этих блоков.

рони 02.02.2023 23:14

Цитата:

Сообщение от WebMachine
И нашел эти значения в файле vendor.js

могу ошибаться, но всплытие прокручивания над некоторыми блоками отключено. addEventListener("mousewheel", над ними не сработает.

WebMachine 02.02.2023 23:20

Цитата:

Сообщение от рони (Сообщение 550420)
могу ошибаться, но всплытие прокручивания над некоторыми блоками отключено. addEventListener("mousewheel", над ними не сработает.

а как мне включить?))

WebMachine 02.02.2023 23:35

А я видимо не правильно понял вопрос, только сейчас допёр. Не могу понять пока причину, ищу

рони 02.02.2023 23:40

Цитата:

Сообщение от WebMachine
а как мне включить?))

в этих блоках сделаны свои скроллбары этого шаблона, если включить всплытие это может нарушить прокрутку текста в блоках ...
могу ошибаться но возможно это попробуйте убрать
function s(s) {
                if (r.env.isWebKit || !t.querySelector("select:focus")) {
                    var c = o(s)
                      , u = c[0]
                      , d = c[1];
                    l(u, d) || (a = !1,
                    e.settings.useBothWheelAxes ? e.scrollbarYActive && !e.scrollbarXActive ? (t.scrollTop = d ? t.scrollTop - d * e.settings.wheelSpeed : t.scrollTop + u * e.settings.wheelSpeed,
                    a = !0) : e.scrollbarXActive && !e.scrollbarYActive && (t.scrollLeft = u ? t.scrollLeft + u * e.settings.wheelSpeed : t.scrollLeft - d * e.settings.wheelSpeed,
                    a = !0) : (t.scrollTop = t.scrollTop - d * e.settings.wheelSpeed,
                    t.scrollLeft = t.scrollLeft + u * e.settings.wheelSpeed),
                    i(t),
                    a = a || n(u, d),
                    a && (*!*s.stopPropagation(),s.preventDefault()*/!*))
                }
            }

WebMachine 03.02.2023 00:15

Цитата:

Сообщение от рони (Сообщение 550423)
в этих блоках сделаны свои скроллбары этого шаблона, если включить всплытие это может нарушить прокрутку текста в блоках ...
могу ошибаться но возможно это попробуйте убрать

а где это убрать? блин чет не могу найти

WebMachine 03.02.2023 00:18

А нушел, убрал и фоновые картинки потерялись.. В общем я так понял лучше это не трогать. Так что ладно) спасибо Рони) оставлю так

WebMachine 03.02.2023 00:19

так тоже не очень прям критично. Просто немного будет страница застревать при скролинге.. Но я думаю ещё сам полазию и придумаю что нибудь может. В любом случае вы открыли мне возможность и я вам благодарен.

рони 03.02.2023 00:20

WebMachine,
ок!)))

WebMachine 03.02.2023 23:30

Цитата:

Сообщение от рони (Сообщение 550428)
WebMachine,
ок!)))

http://demo.pr-demo.96.lt/newcube/

Можете подсказать как добавить ещё и ссылки к определённым блокам? помимо возможных способов просмотра.. и желательно чтобы они выделялись если активны (открыты)

Пазязя я почти у входа в Рай


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