Javascript.RU

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

как сместить элемент внутри блока при wheel?
коллеги доброго времени суток, прошу помощи знатоков, ибо залип над одним моментом. есть список:

<div class="container">
        <div class="layout">
            <div class="item">
                <div class="header">name</div>
                <ul>
                    <li>text</li>
                    <li>text</li>
                    <li>text</li>
                    <li>text</li>
                    <li>text</li>
                    <li>text</li>
                </ul>
            </div>
            <div class="item">
                <div class="header">name</div>
                <ul>
                    <li>text</li>
                    <li>text</li>
                    <li>text</li>
                    <li>text</li>
                    <li>text</li>
                    <li>text</li>
                    <li>text</li>
                    <li>text</li>
                    <li>text</li>
                    <li>text</li>
                    <li>text</li>
                    <li>text</li>
                    <li>text</li>
                    <li>text</li>
                </ul>
            </div>
        </div>
    </div>


при событии wheel происходит смещение layout, тут проблем нету:

_whell_action(e) {

        let direction = -Math.sign(e.deltaY);
        let step = 5 * direction;

        this.layout.style.top = (this.layout.offsetTop + step) + 'px';

        if (this.layout.offsetTop >= 0) this.layout.style.top = '0px';
        if (this.layout.offsetTop <= (this.container.clientHeight - this.list_height)) 
            this.layout.style.top = (this.container.clientHeight - this.list_height) + 'px';

        let header = this.current_item.querySelector('.header');
             header.style.top = (header.offsetTop + step) + 'px';

    }


Но не могу посчитать расстояние, на которое нужно двигать в том же направлении и header внутри item, до тех пор пока не сам header внутри. Определяю текущий item а как определить смещение? прошу помощи, заранее спасибо

Последний раз редактировалось Роман Андреевич, 12.02.2020 в 16:44.
Ответить с цитированием
  #2 (permalink)  
Старый 12.02.2020, 19:15
Профессор
Отправить личное сообщение для Роман Андреевич Посмотреть профиль Найти все сообщения от Роман Андреевич
 
Регистрация: 12.08.2016
Сообщений: 299

всем спасибо, вопрос решен
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как добавить класс при удержание нажатия на элемент ethereal Элементы интерфейса 1 05.08.2019 05:15
Как создать смену номера блока? Aruta Events/DOM/Window 7 11.07.2019 09:32
Как определить пользователь сам нажал элемент или при помощи функции click(); finlandia Элементы интерфейса 13 10.01.2013 23:09
Как организовать скрытие блока при уменьшении окна? tempofnick Events/DOM/Window 1 12.02.2012 00:32
Как сделать что при получении фокуса элемент div был полностью виден на эране kraw Events/DOM/Window 2 06.02.2012 23:42