Как оптимизировать код javascript / jquery для ускорения его работы?
В одном из моих веб-проектов я использую много кода javascript / jQuery, который довольно медленный в браузерах (Windows 7 x64), особенно в IE.
Я использую 3 Ajax-запроса одновременно только на домашней странице.
На странице поиска я также использую ajax-запросы, которые запускаются по событию прокрутки, по любому событию щелчка «тег поиска» (простой тег привязки) и т. Д., Что в целом делает загрузку данных очень медленной.
Я использую плагины jQuery, такие как Anythingslider, плагин jquery coockies, Raty (плагин рейтинга), Tipsuy, jQuery coreUISelect, jScrollPane, колесико мыши и т. Д. Все эти сторонние плагины, которые я уменьшил и объединили в файл jquery.plugins.js, который почти 80 КБ.
Я выбираю много элементов DOM с помощью jQuery. Например я использую следующий код:
$("#element")
вместо:
document.getElementById('element');
У меня также есть один большой CSS-файл, который содержит более 5000 строк, потому что я объединил css-файлы всех сторонних плагинов jQuery в один файл для кеширования и уменьшения количества HTTP-запросов.
Интересно, что я могу сделать, чтобы оптимизировать мой код для повышения производительности и ускорения загрузки веб-страниц?
Какие инструменты можно использовать для отладки и JS-кода? Я забыл упомянуть, что когда я обновляю страницу в Google Chrome или Firefox с открытыми инструментами Firebug или Chrome для разработчиков, страница в этом случае загружается также очень медленно. Иногда Firefox даже сокрушен.
Будет ли выбор элементов DOM с помощью raw js дать мне лучший и более быстрый способ анализа документа? Или я должен уйти, выбрав jQuery? Поговорим о 50 элементах.
Должен ли я отделить и после этого минимизировать внешние плагины, такие как Anythingslider? Или лучше, когда у меня есть файл «все в одном»?
Лучше также отделить код CSS плагинов jQuery от основного style.css? Потому что даже наведение на элемент и влияние на состояние: hover из css файла довольно медленное.
Ну, ребята, я действительно рассчитываю на вас.
Я всю ночь гуглил, чтобы найти ответы на свои вопросы, и очень надеюсь найти его здесь.
Благодарю.