403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/cvetdv.ru/bitrix/js/landing/ui/panel/content/src/internal/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/cvetdv.ru/bitrix/js/landing/ui/panel/content/src/internal/scroll-to.js
import {Dom} from 'main.core';
import calculateDurationTransition from './calculate-duration-transition';

export default function scrollTo(container, element)
{
	return new Promise((resolve) => {
		let elementTop = 0;
		let duration = 0;

		if (element)
		{
			const defaultMargin = 20;
			const elementMarginTop = Math.max(parseInt(Dom.style(element, 'margin-top')), defaultMargin);
			let containerScrollTop = container.scrollTop;
			if (!(container instanceof HTMLIFrameElement))
			{
				elementTop = element.offsetTop - (container.offsetTop || 0) - elementMarginTop;
			}
			else
			{
				containerScrollTop = container.contentWindow.scrollY;
				elementTop = BX.pos(element).top - elementMarginTop - 100;
			}

			duration = calculateDurationTransition(
				Math.abs(elementTop - containerScrollTop)
			);

			const start = Math.max(containerScrollTop, 0);
			const finish = Math.max(elementTop, 0);

			if (start !== finish)
			{
				(new BX.easing({
					duration,
					start: {scrollTop: start},
					finish: {scrollTop: finish},
					step(state) {
						if (!(container instanceof HTMLIFrameElement))
						{
							container.scrollTop = state.scrollTop;
						}
						else
						{
							container.contentWindow.scrollTo(0, Math.max(state.scrollTop, 0));
						}
					},
				})).animate();

				setTimeout(resolve, duration);
			}
			else
			{
				resolve();
			}
		}
		else
		{
			resolve();
		}
	});
}

Youez - 2016 - github.com/yon3zu
LinuXploit