@genericname1
Does this happen specifically when copying something inside BAS? In the script panel where the actions are or from the browser?
What version of BAS are you using?
Please record a video demonstrating the problem so that we can understand what is happening.
Javascript код внутри BAS
-
Не могу понять, как правильно сделать следующее:
Есть js код, который получает абсолютные координаты элемента -function getOffset( el ) { var _x = 0; var _y = 0; while( el && !isNaN( el.offsetLeft ) && !isNaN( el.offsetTop ) ) { _x += el.offsetLeft - el.scrollLeft; _y += el.offsetTop - el.scrollTop; el = el.offsetParent; } return { top: _y, left: _x }; }Как правильно сделать так, чтобы сначала определить данную функцию, а потом по ходу скрипта применять ее для нужного мне элемента ?
Я пробовал и через Выполнить код и через JS. Безрезультатно -
Нашел решение, но я сомневаюсь, что оно самое правильное (хотя свою функцию и выполняет)
Блок Выполнить кодVAR_TEST_X = 0; VAR_TEST_Y = 0; page().script("function getElemOffset( el ) {var _x = 0;var _y = 0;while( el && !isNaN( el.offsetLeft ) && !isNaN( el.offsetTop ) ) {_x += el.offsetLeft - el.scrollLeft;_y += el.offsetTop - el.scrollTop;el = el.offsetParent;}return { top: _y, left: _x };}getElemOffset(document.getElementById('MY_ID')).left")! VAR_TEST_X = parseInt(_result()) page().script("function getElemOffset( el ) {var _x = 0;var _y = 0;while( el && !isNaN( el.offsetLeft ) && !isNaN( el.offsetTop ) ) {_x += el.offsetLeft - el.scrollLeft;_y += el.offsetTop - el.scrollTop;el = el.offsetParent;}return { top: _y, left: _x };}getElemOffset(document.getElementById('MY_ID')).top")! VAR_TEST_Y = parseInt(_result())Причем работает только со знаком "!"
Может быть кто-то подскажет, как можно вынести функцию getElemOffset отдельно, чтобы для каждой координаты каждого элемента ее не копипастить ?