Думаю достаточно будет убрать лишние операции из parallax, например вместо траверса в поисках .wrap сохранить его в переменную. Также можно избавиться от сложных функций типа $.fn.css, и либо обойтись без $, либо использовать что-нибудь попроще, типа $.fn.attr. Будет полегче, но мне кажется стоит потестить в чем именно проблема, например уменьшить сначала количество анимируемых фигур, посмотреть на производительность.
Артём, они отличаются только некоторыми сахарными фичами, каждая из которых реализуема и с применением предыдущих стандартов, так что любой полноценный учебник по актуальному JS вам должен дать информацию и о старом ES, и о новом: если в учебнике речь только о ES5, то он неактуален; если только о следующих стандартах - то это не учебник, а просто статейка о новых фичах ECMAScript. То есть любой полноценный учебник должен охватывать эту область.
Может вам ещё ответят по теме, но лично мне всегда казалось все вызываемые объекты являются функциями, собственно потому что способность быть вызываемой это и есть ключевое отличие функции от любого другого объекта.
Артём, ну видите, всё равно литература тех времён уже неактуальна. Например, автор пишет что RegExp некоторые браузеры реализуют как объект, то есть и с помощью typeof это можно проверить. Через browserstack проверил на IE11/10/8/7/5, FF, Chrome, Opera, на двух BlackBerry телефончиках, на iPhone и старом iPad, везде typeof RegExp возвращает function.
JS всё-таки лучше у Ильи Кантора на learn.javascript.ru изучать, всегда свежая инфа.
Max Front, небольшой апдейт: использование function expression без всякого связанного с ним действия синтаксически некорректно. То есть вы могли бы присвоить эту функцию переменной, тогда ошибки бы не было. Или сразу же вызвать например.
RamPM, ну, инспектор врёт крайней редко, а значит вы где-то в коде меняете src. Может быть там где делаете load? Насколько я знаю этот метод не принимает аргументы.
1. ID может быть только один, наличие второго элемента с существующим ID это ошибка,
2. "как сделать, чтобы она укорачивала (урезала кол-во текста) все элементы которые есть" - берёте все нужные элементы и применяете нужную функцию к ним.
Во-первых, у вас до чёрта ошибок, лучше их сначала все убрать. Во-вторых, вы грузите HTML код в качестве звуковой дорожки, о чем вам недвусмысленно сообщает консоль. К тому же адрес у вас заканчивается словом "undefined", скорее всего в процессе формирования адреса произошла ошибка.
Александр, первое что пришло в голову - можно банально сохранять timestamp при загрузке документа и отправлять его с запросом. На сервере делать проверку: если пришедший timestamp меньше чем значение в поле last_modification_timestamp конкретной записи, то значит эта запись изменилась с тех пор как пользователь в последний раз получал данные из базы. Т.к. пересылать HTML я считаю в принципе дурацкой идеей, то я по умолчанию подразумеваю, что подобные данные сервер шлёт в JSON. Сервер отсылает только обновленные/добавленные записи, соответственно клиент обновляет/добавляет все записи пришедшие в ответе, после чего timestamp обновляется.
Александр, и правда, извините, даже не посмотрел в код. Просто обычно на тостере задают вопросы типа "почему после document.documentElement.innerHTML = '' не работают кнопки? помогити", по привычке ответил.
А что именно вы не знаете как нормально сделать? С сервера передаёте либо HTML, либо JSON, добавляете новые элементы в список.