Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как будет правильнее и быстрее? (https://javascript.ru/forum/jquery/12779-kak-budet-pravilnee-i-bystree.html)

Glook 02.11.2010 16:37

Как будет правильнее и быстрее?
 
Как правильно писать так:

$(function () {
тут одна функция 
 });

$(function () {
тут вторая функция 
 });

$(function () {
тут третья функция 
 });


или так:

$(function () {
тут ВСЕ функции для ВСЕГО сайта
 });


И как это влияет на скорость обработки браузером?

exec 02.11.2010 17:04

Второй вариант лучше, т.к. навешивается всего один обработчик DOMContentLoaded на document.

micscr 02.11.2010 17:12

это что - функция ready так уже записывается?

Glook 02.11.2010 17:24

Цитата:

Сообщение от micscr
это что - функция ready так уже записывается?

ну, вроде да. она, кажется, всегда так записывалась, краткий вариант.

Glook 02.11.2010 18:00

А ещё вопрос: есть ли какой-нибудь вариант более быстрого срабатывания функции? ДО полной загрузки DOM.

micscr 02.11.2010 18:16

смотря что делает эта функция. Если не обращается к элементам DOM, то просто вначале скрипта вызывай ее:
<head>
<script>
xxx();
function xxx(){
  //...
}
</script>
</head>

Kolyaj 03.11.2010 07:30

Цитата:

Сообщение от Glook
Как правильно писать

Без разницы.

Цитата:

Сообщение от Glook
есть ли какой-нибудь вариант более быстрого срабатывания функции?

Ну вызови её.

Glook 08.11.2010 15:05

Цитата:

Сообщение от micscr (Сообщение 77104)
смотря что делает эта функция. Если не обращается к элементам DOM, то просто вначале скрипта вызывай ее:

к элементам DOM конечно обращается. просто проблема в том, что страница "тяжёлая", какие-то элементы добавляются динамично, поэтому полная загрузка её занимает какое-то время. однако некоторые элементы загружаются быстрее, вот с ними-то и хотелось бы взаимодействовать как только они загрузятся. не ждать остальных.

Bercut 12.11.2010 00:47

достаточно разместить скрипт после того элемента с которым предстоит взаимодействовать

Bercut 12.11.2010 00:51

касательно "Как правильно писать"
всё зависит от содержимого вашей страницы, если есть необходимость разбросать скрипты по странице, то ради бога используйте $(function (){}) сколь угодно раз
а если такой необходимости нет, то вам самому будет удобнее держать всё в одном месте
на производительности это отражается незначительно, если счёт не идёт на тысячи


Часовой пояс GMT +3, время: 00:31.