с использованием $(document).ready
, не имеет значения, где на странице он находится, поскольку он будет выполняться только после завершения загрузки DOM. Единственный код, который должен находиться внутри $(document).ready
, - это код, который необходимо настроить при загрузке DOM, например, обработчики событий, любые эффекты / анимации, которые вы хотите запустить, как только DOM завершит загрузку, и т. д. Другие функции не обязательно должны быть в $(document).ready
, такие как функции, используемые при сортировке массива, именованные функции, вызываемые при событиях подняты и т. д.
Как уже указывалось, вы можете иметь более одной функции $(document).ready
на странице, поскольку вы указываете функцию (именованную или анонимную), которая будет выполняться, когда событие ready
(событие jQuery) поднят.
EDIT:
Эта статья, на которую вы ссылались в комментариях к этому ответу , содержит пример того, чего вы пытаетесь достичь. Например, у вас будет файл JavaScript со следующей настройкой для объявления глобальной переменной
var myPageLibrary = {
homePage : {
init : function() {
$(document).ready(function() {
/* page specific functions that need to run,
for exmaple, binding event handlers, etc */
});
}
},
aboutPage : {
init : function() {
$(document).ready(function() {
/* page specific functions that need to run,
for exmaple, binding event handlers, etc */
});
}
}
}
/* you might have functions here that are bound to events.
Here is an example */
function showSubMenu(e) {
$(e.target).next('div').show();
}
function hideSubMenu(e) {
$(e.target).next('div').hide();
}
Тогда на ваших страницах у вас будет следующая структура (в этом примере используется домашняя страница)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>This is my Home Page</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script src="path-to-myPageLibrary.js"></script>
<script type="text/javascript">
myPageLibrary.homePage.init();
</script>
</head>
<body>
<!-- Page content -->
</body>
</html>
сначала указывается файл сценария jQuery, затем файл сценария myPageLibrary, а затем блок сценария, вызывающий myPageLibrary.homePage.init();