Ну Вы перемещаете на 50 пикселей, тут как не крути - плавно не будет.
Есть 2 варианта:
Перемещать через css transition. Тогда нужно указать для этого блока transition: left 0.3s linear
Либо понизить шаг перемещения, а так же воспользоваться функцией requestAnimationFrame
P.s. ну и не зачем постоянно искать элемент через querySelector. Найдите его один раз, сохраните в переменную и пользуйтесь.
Точно так же, как и всё остальное - добавляете описание в props, используете v-bind для привязки метода к экземпляру компонента.
Но вообще, так в vue делать не принято.
Принято иначе:
1. В дочернем компоненте генерируете событие: <button @click="$emit('click')".
2. В родительском на него подписываетесь: <component @click="onClick".
Первое это позаботьтесь, чтобы слезть с php-cgi — это ужасно!
Apache + mod_php настроить просто и производительность возрастёт.
Второе, поставьте eAccelerator, увеличит от 2-10 раз скорость php так как не надо будет постоянно пересобирать в опкод.
Ну и DDoS надо файрволом закрывать, или хотя бы iptables просмотрев диапазоны ip адресов
Лучший вариант - иметь одну точку входа, в которой создаётся подключение, и передавать это подключение вглубь только через конструкторы классов и аргументы методов.
Более реалистичный вариант - выделение какого-нибудь service locator'а, который тоже лучше передавать руками, но часто его делают доступным глобально через static или singleton (который сам строится на static).
Ваше решение в корне не верно. Класс, всё содержимое которого статическое это уже не класс, а набор функций.
Наиболее правильно сделать всё, что сказали выше +
1. выключить авторизацию по паролю(только через сертификат)
2. в iptables поставить доступ к ssh только с определённых ip
3. в ssh продублировать доступ с определённых ip
4. Для nginx скрыть версию, для php тоже, для системы тоже почитать как она скрывается
5. настроить fail2ban для всех открытых сервисов с авторизацией
6. на всех сервисах ограничить количество одновременных соединений, тут везде по-разному. limits и прочее
Для параноиков всегда можно сделать на сервере openvpn на 443 порту, разрешить совместное использование оного с nginx, сбацать себе сертификат неэкспортируемый, передать его сложным путём через дробленный архив с паролем, затем импортировать используя пароль в закрытое хранилище устройства и сидеть с него в ssh на сервер.
1. SSH - на нестандартный порт, запрет логина рутом (логиниться удаленно простым пользователем и дальше su/sudo). Подбор пароля рута к SSH на 22-м порту - самый основной вектор атаки.
2. Регулярные обновления по безопасности.
3. По безопасной настройке ngx - куча инфы в сети.