Чтобы определить маржу страницы в разных положениях страницы, мне нужно получить смещение, ширину и высоту каждого элемента DOM.получить смещение каждого элемента DOM эффективно
Я повторяю элементы DOM и сохраняю атрибуты каждого элемента. Я пробовал его с помощью JQuery $(el).offset()
, но это было очень медленно. Я предполагаю, что создание объекта JQuery для каждого элемента с помощью $(...)
происходит очень медленно.
Затем я попробовал старую реализацию, которую я получил из старого кода, который использует родной JS, и это было в 4 раза быстрее.
ТАК, что я действительно спрашиваю, есть ли другой способ сделать это? Я должен упомянуть, что мой скрипт работает на сайтах издателей, и я ничего не знаю о странице, на которой я работаю.
простой ванильный js и разумный алгоритм. возможно, вы должны кэшировать некоторые смещения, зависит от того, что вы делаете. – citykid
Да, я также думаю, что просто хочу убедиться, что я не пропущу ни малейшего трюка, ни чего-то лучшего/сортировщика/более эффективного. – mrgoos