Показать сообщение отдельно
  #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.
Ответить с цитированием