empr: я больше по JS чем по PHP, поэтому для меня запись usort(arr, function() {}) означает, что происходит вызов некой функции usort, которая в качестве аргументов принимает массив и функцию, к которым она сможет обращаться по идентификаторам предусмотренным при объявлении, как-то так: function usort(arr, f) {}. То есть, если бы речь шла о JS, то функция usort имела бы доступ к объекту с аргументами, и не было бы никакой проблемы обращаться к ним в любой итерации. В PHP всё по-другому? Если да, то не подскажете где можно было бы почитать именно об этой особенности PHP?
jeruthadam: без издёвки: если вы не знаете как из массива выбрать один элемент, то всё же вам лучше обратиться к MDN. Поверьте, в отличие от тостера он ответит на все ваши вопросы касаемо взаимодействия DOM и JS. Прямо пишите названия методов в строку поиска сверху, всё увидите сами.
"getElementsByClassName возращает ОДИН, первый элемент с этим классом" - так написано же elements, а не element, множественное число.
Названия методов - querySelectorAll и getElementsByClassName - слегка намекают на тот факт, что вы выбираете не элемент, а много элементов. А так да - если бы выбирали элемент, то у вас бы всё получилось.
Richswitch: верно, но px это абсолютная единица измерения, а vh - относительная. Поэтому vh в плане "сделать первую странцу одинаковой высоты для любого браузера" абсолютно не канает. Зато вполне канает когда нужно сделать, чтобы блок был высоты вьюпорта.
Короче говоря, вам нужно при сабмите отправить данные на сервер и обработать ответ без перезагрузки страницы? Если да, то попробуйте найти ответ в уже существующих вопросах - https://toster.ru/search?q=php+без+перезагрузки. На всяких случай оставлю репорт за то что вы этого не сделали.
"от 0 и до того момента, когда закончил скроллить" - то есть речь не о каждом конкретном тике анимации скролла, а обо всей попытке скролла? Если да, то вам также придётся следить за тем, к какой именно попытке скролла относится текущий тик, например с помощью таймеров.
Nikita Shchypylov: "код выполняется каждый раз когда страница скролится" - нет, только один раз - при первой попытке скролла.
"Мне нужно будет это константу отнимать от актуальной позиции" - ввиду того что в браузерах сейчас анимация плавная, актуальное положение от этой константы будет отличаться на считанное количество пикселей, от 1 до 20 в зависимости от скорости скролла. Вам проще без всяких событий сохранить текущее положение window.pageYOffset и всё.
triowinner: "после ваших советов, мне честно сказать уже не хочется тут задавать вопросы, потому, что придут вот такие вот эксперты (без обид), и будут указывать пальцем на книжку" - и это правильный подход, просто замечательные слова. Особенно в виду того факта, что тостер это не фонд поддержки ленивых людей и не отряд специалистов в синих трико, которые готовы придти на помощь при первом зове. Это Q&A.
Наталия: ну вот, теперь в рамках найденного вектора начинайте реализацию сырого варианта, а все проблемные моменты сначала транслируйте в гугл, после чего в случае неудачи - сюда.
Наталия: да, и вопрос и апдейт хорошо описывают задачу, но именно это скорее всего и будет причиной по которой вам на данном этапе не помогут: вы уже достаточно детально описали алгоритм решения вашей задачи, настолько что реализация будет просто дословным "переводом" с русского на JS. Так что вероятно вам стоит начать реализовывать решение, опираясь на вами же написанное, а сюда писать только о конкретных возникших проблемах, тогда вам точно помогут.
То же и по поводу jsfiddle: это очень хороший инструмент, если у вас что-то работает в jsfiddle не так как локально, то значит вы где-то накосячили с переносом. Опять же, задавайте конкретные вопросы по поводу jsfiddle, вам помогут.
"некак не могу прикрутить" - полагаю это значит что вы пытались, тогда показывайте код из которого будет понятно в чем именно у вас возникла проблема. К тому же не стоит в вопросах использовать теги не имеющие отношения к теме вопроса.
На офе написано: "A lightweight syntax highlighter for WordPress, fully integrated into the TinyMCE rich editor.", то есть он под вордпресс, это то что вам нужно?
jtag_: на их же оф. сайте написано, что если нужен полноценный функционал DOM для траверса, то лучше использовать jsdom. По идее с ним можно будет обращаться к элементам с помощью стандартных функций: