Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.10.2012, 18:02
Аспирант
Отправить личное сообщение для Kotakota Посмотреть профиль Найти все сообщения от Kotakota
 
Регистрация: 12.07.2011
Сообщений: 71

Где лучше разместить $(document).ready()?
Привет.
Если в javascript поместить скрипт между <head></head>, то он будет выполнен до начала загрузки элементов страницы.
Если между <body></body> (перед закрывающим тегом), то он будет выполнен после загрузки всей страницы.
А есть ли какая нибудь разница где размещать jQuery конструкции:
$(document).ready(function(){
// DOM complete
});

и
$(document).load(function(){
//  all element complete
});

Где их лучше размещать? В <head> или <body>?
И еще один вопрос.
$(document).ready(function(){}) и $(document).load(function(){}) - это не аналог выполнения между <head></head> и <body></body> соотвественно?
Ответить с цитированием
  #2 (permalink)  
Старый 31.10.2012, 18:46
Аватар для NikolasGrad
Аспирант
Отправить личное сообщение для NikolasGrad Посмотреть профиль Найти все сообщения от NikolasGrad
 
Регистрация: 12.04.2012
Сообщений: 49

Нет. Не аналог.
$(document).ready()
выполняется только после загрузки всей страницы, при том неважно, где разместить.
ready

$('dom-element').load()
обычно используют для выполнения после загрузки конкретного <dom-element>, тоже неважно, где разместить.
load

Размещай где удобно, но лучше не загромождать html , а писать js в отдельный файл, который подключать в head.
<head>
  <script type="text/javascript" src="/js/jquery-1.7.1.min.js"></script>
  <script type="text/javascript" src="/js/myscripts.js"></script>
</head>

К примеру в файл myscripts.js

И еще. Вместо
$(document).ready(function(){
  // Your code here...
});

Лучше использовать
$(function() {
  // Your code here...
});

Последний раз редактировалось NikolasGrad, 31.10.2012 в 19:12.
Ответить с цитированием
  #3 (permalink)  
Старый 31.10.2012, 19:18
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

Сообщение от NikolasGrad Посмотреть сообщение
Лучше использовать
$(function() {
  // Your code here...
});
Чем, если не секрет?
Ответить с цитированием
  #4 (permalink)  
Старый 31.10.2012, 20:12
Аватар для NikolasGrad
Аспирант
Отправить личное сообщение для NikolasGrad Посмотреть профиль Найти все сообщения от NikolasGrad
 
Регистрация: 12.04.2012
Сообщений: 49

$(function() {
// Your code here...
});
Используется при написании безотказного кода jQuery не полагаясь на глобальные псевдонимы, вроде 'document'.
Ответить с цитированием
  #5 (permalink)  
Старый 31.10.2012, 22:03
Аспирант
Отправить личное сообщение для Kotakota Посмотреть профиль Найти все сообщения от Kotakota
 
Регистрация: 12.07.2011
Сообщений: 71

Спасибо за советы.
Почитал еще, что советует консорциум:
Цитата:
When to put script in HEAD

Scripts to be executed when they are called, or when an event is triggered, are placed in functions. Put your functions in the head section, this way they are all in one place, and they do not interfere with page content.

When to put script in BODY

If you don't want your script to be placed inside a function, or if your script should write page content, it should be placed in the body section.
А еще понравилась статья http://www.stevesouders.com/blog/201...cript-loading/ на эту тематику.
Но там автор советует все скрипты по возможности вставлять перед </body>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VK - разместить запись на стену lol4eg Общие вопросы Javascript 8 23.02.2013 14:52
Где лучше выполнять арифметические операции? На клиенте или на сервере? Маэстро Общие вопросы Javascript 35 25.04.2012 18:13
где лучше спрятать данные? czp Общие вопросы Javascript 17 04.04.2012 13:08
Где лучше всего вставлять код js? TBIKC Общие вопросы Javascript 2 21.12.2011 04:33