Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Где лучше разместить $(document).ready()? (https://javascript.ru/forum/jquery/32830-gde-luchshe-razmestit-%24-document-ready.html)

Kotakota 31.10.2012 18:02

Где лучше разместить $(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> соотвественно?

NikolasGrad 31.10.2012 18:46

Нет. Не аналог.
$(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...
});

Serg_pnz 31.10.2012 19:18

Цитата:

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

Чем, если не секрет?

NikolasGrad 31.10.2012 20:12

$(function() {
// Your code here...
});
Используется при написании безотказного кода jQuery не полагаясь на глобальные псевдонимы, вроде 'document'.

Kotakota 31.10.2012 22:03

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

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>


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