Имеет ли значение, если я использую несколько $ (document) .ready (function () {на одной html-странице ??
Нет, это не имеет значения, и в некоторых (читай: во многих) случаях это правильный путь. Однако, как всегда, я хотел бы привести несколько (полезных) указателей:
Как вы упомянули в комментарии, технически добавление вызова файла до </body>
действительно означает, что вам в принципе не нужно использовать $(document).ready()
. Лично я стараюсь избегать как можно больше, поскольку jQuery не так строг, как один JS (это означает, что большинство скриптов работают без $(document).ready()
).
[РЕДАКТИРОВАТЬ: Эта часть моего ответа не является точной, пожалуйста, см. Комментарии ниже] Кроме того, не имеет смысла добавлять JQuery внутри в нижний колонтитул, или даже в <body>
. Технически это не является неправильным, но если вы имеете дело с cms-подобным программным обеспечением или некоторыми шаблонными функциями, то вы хотите, чтобы на всех страницах был включен jQuery. ИЛИ вы можете просто назвать это моим старым школьным знанием.
Поскольку вы хотите вызывать Photos.js и Animations.js в нижнем колонтитуле, я предполагаю, что они не являются правильными плагинами. Если вы хотите сделать свой код более узким, то скомпонуйте их в правильный плагин. Затем вы можете добавить плагины в заголовок и иметь один файл нижнего колонтитула, в котором вы назначаете плагины для элементов (читай: активируйте их.) Вот краткое руководство о том, как создавать свои собственные плагины.
Кроме того, если у вас есть несколько файлов JS, они должны быть включены на страницу. Тогда вы можете сделать свой код более аккуратным, используя $.getScript()
. Сначала вы должны добавить jQuery, как всегда, но вызывать другие файлы можно в одном теге <script>
. Выглядит аккуратнее и, кажется, немного быстрее (по крайней мере, в вашей голове). Я приведу небольшой пример:
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
</head>
<body>
<!-- Content camps here -->
<script type="text/javascript">
$.getScript('js/Photos.js');
$.getScript('js/Animations.js');
</script>
</body>
</html>