class BBB extends AAA {
public function __construct()
{
parent::__construct(); // всегда надо вызывать конструктор родительского класса.
var_dump($this->test);
}
}
Jacket, я не говорил что будет легко, тебе придется на основе полученной дельты прокрутки плавно изменять значение для scrollLeft, учитывать продление анимации, смену направление и кучу прочих нюансов.
Вот в помощь простые функции плавного изменения значений, придется разобраться, как это работает и применить к своим данным. https://gist.github.com/gre/1650294
Анимировать придется в requestAnimationFrame, вовремя запускать, вовремя останавливать.
И подобный подход настолько удобен, что фильтрация ввода становится лишней. При том, что пользователь будет полностью осведомлен о том, что ему надо делать. Это самое главное.
Станислав Силин, выбор языка решает только при наличии личной железки с гарантированно выделенным каналом, который гарантированно не будет узким местом. Во всех остальных случаях пофиг что у тебя там обрабатывает запросы, ддосом будет заниматься отдельный фильтр, за который придется доплачивать, иначе пинок под зад за большой трафик.
Alex Wells, если Wallet.getBalance возвращает промис, чего мы не знаем, то ничего не перехватится, так как у нас уже объявлен промис, исключение бросится внутри него и получишь неперехватываемую ошибку (in promise exception) в консоль и нерабочий код.
Обработай исключение. Подумай о том, что должно произойти, если кнопка откажет. Это и реализуй. Попутно собери подробную информацию о действиях пользователя и отправь лог.
Alex Wells, так у автора, значит он может бросить исключение,значит надо его перехватить. Если реализация не известна, то лучше подстраховаться. Хуже от этого не станет. Но всегда можно пустить все на самотек.