Известно, что метод pipe возвращает первый аргумент, переданный в него.
С чего вы это взяли?
Метод pipe возвращает объект (поток), в контексте которого он вызван. Посредством этого как раз и происходит организация цепочки потоков.
downstream
В приведенном контексте этот термин скорее всего определяет отношение между проектами. Т.е. если один проект является форком другого, то первый будет "downstream" по отношению к последнему. Так что адекватный перевод - "производный".
gotcha
Если это существительное, то перевод вполне однозначен: "ловушка" (в контексте программирования).
Ваш вопрос состоит из двух частей:
1) инициализация переменных значениями из массива.
2) создание диапазона значений.
Ни того, ни другого, в JavaScript в чистом виде нет.
Но для вашего примера можно использовать известный прием с определением переменных в скоупе объекта window, совместно с Array-методом forEach:
Скорее всего, после вашего кода есть подключение других скриптов, которые изменяют содержимое документа или размеры элементов. Если они тоже обернуты в $(document).ready либо его аналог, то они будут вызываться после вашего кода. Из-за этого и меняются размеры вашего элемента. В принципе даже код счетчиков способен изменить структуру документа (рядом с собой).
Переместите ваш код в конец страницы, либо вызывайте его через setTimeout с нулевым интервалом.
На вашей стр-це плагин Collapse (файл "bootstrap-collapse.js") подключается раньше чем плагин Transition, от к-ого зависит Collapse. Собств-но вам вообще не нужен файл "bootstrap-collapse.js" т.к. Collapse уже содержится в файле "bootstrap.js". Просто уберите строку с "bootstrap-collapse.js" и все заработает.
Магия магическая! Если выполнить не через JS, а через PHP - все работает!
Почему же через JavaScript не хочет?
По всей видимости вы не делаете авторизацию пользователя (пользователя, а не приложения), либо неправильно обрабатываете "access_token". поэтому и не работает.
Я например использую Multitran (демо-версию), уже неск-ко лет. В трее она не висит и по хоткею не всплывает, но памяти жрет мало, так что можно держать постоянно запущенной. Поддерживает неск-ко языков, правда в free-версии словари не очень объемные (хотя в англ.-рус. — over 1000000 слов).
jQuery тут ни при чем, bookmate.com использует Closure Library.
Вытянуть читаемый js-код с bookmate.com затруднительно, т.к. там все сжато в одном js-файле, специфичном для каждой книги.
Вам же ответили: вы пишете некорректный код, потому и получаете ошибку. И какая разница, что в ее описании? ошибка она и есть ошибка.
И по 2-му примеру тоже дано объяснение: нельзя вызывать нестатическую функцию как статическую. В вашем примере функция m на самом деле вызывается как нестатическая, отсюда и необычное поведение.
Выше уже подсказали решение.
От себя добавлю, что в вашем случае составной ключ не нужен, достаточно одного unique-индекса для поля 'id', если конечно его название соответствует содержанию).
Как-то так: ALTER TABLE progstat ADD UNIQUE INDEX (id)