Просмотр полной версии : Как будет правильнее и быстрее?
Как правильно писать так:
$(function () {
тут одна функция
});
$(function () {
тут вторая функция
});
$(function () {
тут третья функция
});
или так:
$(function () {
тут ВСЕ функции для ВСЕГО сайта
});
И как это влияет на скорость обработки браузером?
Второй вариант лучше, т.к. навешивается всего один обработчик DOMContentLoaded на document.
это что - функция ready так уже записывается?
это что - функция ready так уже записывается?
ну, вроде да. она, кажется, всегда так записывалась, краткий вариант.
А ещё вопрос: есть ли какой-нибудь вариант более быстрого срабатывания функции? ДО полной загрузки DOM.
смотря что делает эта функция. Если не обращается к элементам DOM, то просто вначале скрипта вызывай ее:
<head>
<script>
xxx();
function xxx(){
//...
}
</script>
</head>
Как правильно писать
Без разницы.
есть ли какой-нибудь вариант более быстрого срабатывания функции?
Ну вызови её.
смотря что делает эта функция. Если не обращается к элементам DOM, то просто вначале скрипта вызывай ее:
к элементам DOM конечно обращается. просто проблема в том, что страница "тяжёлая", какие-то элементы добавляются динамично, поэтому полная загрузка её занимает какое-то время. однако некоторые элементы загружаются быстрее, вот с ними-то и хотелось бы взаимодействовать как только они загрузятся. не ждать остальных.
достаточно разместить скрипт после того элемента с которым предстоит взаимодействовать
касательно "Как правильно писать"
всё зависит от содержимого вашей страницы, если есть необходимость разбросать скрипты по странице, то ради бога используйте $(function (){}) сколь угодно раз
а если такой необходимости нет, то вам самому будет удобнее держать всё в одном месте
на производительности это отражается незначительно, если счёт не идёт на тысячи
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot