Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.11.2010, 17:37
Интересующийся
Отправить личное сообщение для Glook Посмотреть профиль Найти все сообщения от Glook
 
Регистрация: 24.05.2010
Сообщений: 23

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

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

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

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


или так:

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


И как это влияет на скорость обработки браузером?
Ответить с цитированием
  #2 (permalink)  
Старый 02.11.2010, 18:04
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Второй вариант лучше, т.к. навешивается всего один обработчик DOMContentLoaded на document.
Ответить с цитированием
  #3 (permalink)  
Старый 02.11.2010, 18:12
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

это что - функция ready так уже записывается?
Ответить с цитированием
  #4 (permalink)  
Старый 02.11.2010, 18:24
Интересующийся
Отправить личное сообщение для Glook Посмотреть профиль Найти все сообщения от Glook
 
Регистрация: 24.05.2010
Сообщений: 23

Сообщение от micscr
это что - функция ready так уже записывается?
ну, вроде да. она, кажется, всегда так записывалась, краткий вариант.
Ответить с цитированием
  #5 (permalink)  
Старый 02.11.2010, 19:00
Интересующийся
Отправить личное сообщение для Glook Посмотреть профиль Найти все сообщения от Glook
 
Регистрация: 24.05.2010
Сообщений: 23

А ещё вопрос: есть ли какой-нибудь вариант более быстрого срабатывания функции? ДО полной загрузки DOM.
Ответить с цитированием
  #6 (permalink)  
Старый 02.11.2010, 19:16
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

смотря что делает эта функция. Если не обращается к элементам DOM, то просто вначале скрипта вызывай ее:
<head>
<script>
xxx();
function xxx(){
  //...
}
</script>
</head>
Ответить с цитированием
  #7 (permalink)  
Старый 03.11.2010, 08:30
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Glook
Как правильно писать
Без разницы.

Сообщение от Glook
есть ли какой-нибудь вариант более быстрого срабатывания функции?
Ну вызови её.
Ответить с цитированием
  #8 (permalink)  
Старый 08.11.2010, 16:05
Интересующийся
Отправить личное сообщение для Glook Посмотреть профиль Найти все сообщения от Glook
 
Регистрация: 24.05.2010
Сообщений: 23

Сообщение от micscr Посмотреть сообщение
смотря что делает эта функция. Если не обращается к элементам DOM, то просто вначале скрипта вызывай ее:
к элементам DOM конечно обращается. просто проблема в том, что страница "тяжёлая", какие-то элементы добавляются динамично, поэтому полная загрузка её занимает какое-то время. однако некоторые элементы загружаются быстрее, вот с ними-то и хотелось бы взаимодействовать как только они загрузятся. не ждать остальных.
Ответить с цитированием
  #9 (permalink)  
Старый 12.11.2010, 01:47
Интересующийся
Отправить личное сообщение для Bercut Посмотреть профиль Найти все сообщения от Bercut
 
Регистрация: 10.11.2010
Сообщений: 22

достаточно разместить скрипт после того элемента с которым предстоит взаимодействовать
Ответить с цитированием
  #10 (permalink)  
Старый 12.11.2010, 01:51
Интересующийся
Отправить личное сообщение для Bercut Посмотреть профиль Найти все сообщения от Bercut
 
Регистрация: 10.11.2010
Сообщений: 22

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


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие div блока при первом визите на сайт Nushaba Общие вопросы Javascript 28 20.12.2013 21:24
Как определить активное окно/вкладку? Chameleon Events/DOM/Window 5 19.03.2012 08:59
Как обрезать строку и добавить символы в середине, в зависимости от длинны строки andreyua Firefox/Mozilla 12 10.12.2010 15:44
Как разделять страницы при выводе отчета ilshat Events/DOM/Window 7 10.12.2009 10:24
Как правильнее? Рикка (X)HTML/CSS 8 09.10.2007 09:30