hoome, из-за того, что у body ставится position: fixed, то любой сдвиг с помощью margin будет обрезать контент в Safari, если он тоже на position: fixed внутри родительского блока с position: fixed (body).
hoome, у вас скрипт меню делает margin-left на body 270px.
Уберите margin вообще пока.
Если хотите сохранить эффект сдвига тела документа, вам будет нужно обернуть весь контент в один какой-то блок и сдвигать именно его. И лучше не с помощью margin, а с помощью translateX.
Joirvy, то же самое, что и для CSS. Точно такое же. Вычисляет всю длину обводки (stroke-dasharray), делите её на нужное кол-во секунд и добавляете полученное значение к stroke-dashoffset.
Максим Ленский, да, согласен, просто не мой не пример. Но это зависит от метода создания обводки тоже.
Василий Хрягин, ну так человек вам и написал вам об этом. Скрываете изначально body (только не через overflow: hidden, а через visibility: hidden), делаете скрипт, который проверяет загрузку видео — когда видео загружено, убираете visibility: hidden.
Вы так сломаете типичные сценарии использования мыши так сильно, что у пользователей будет не просто болеть пальцы, руки и голова, но и так называемый «пукан» будет пригорать по полной программе.
Попробуйте пару минут так поорудовать мышкой, постоянно зажимая клавишу. Всё поймёте сразу. Ну и куча методов/паттернов ввода сразу отметается.
Хоть это не моё дело, но в вебе никто не поймёт, что у вас, оказывается, есть ещё и длительное нажатие с каким-то там попапом. В нативных-то приложениях и в системном UI мобильных ОС далеко не все знают об этом, а тут про веб, где этого отродясь не было.
Просто вставляю свои три копейки. Реализовать это можно. Плюс, надо user-select: none с префиксами в CSS прописать, чтобы убрать выделение текста по длительному нажатию (так проще будет, чем на JS).