RomanDillerNsk
@RomanDillerNsk
JavaScript

Как рассчитать смещение элемента внутри блока при событии 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 а как определить смещение? прошу помощи, заранее спасибо
  • Вопрос задан
  • 49 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы