Как запустить Javascript в шаблоне, пока все скрипты находятся внизу?
Я использую CakePHP, и в шаблоне я помещал каждый скрипт-тег прямо перед закрывающим тегом body, чтобы получить быструю загрузку страницы. Теперь в теле, перед тегами script, есть некоторый код, основанный на jQuery (слайдер и диаграммы). Поэтому я использовал для этого функцию document.ready, но ничего не происходит. Что мне нужно сделать, чтобы получить рабочий скрипт?
Некоторый код для вас, чтобы получить представление:
Шаблон index.php
... html stuff ...
... the following line fetches the content which contains jQuery functions ...
<?php echo $this->fetch('content'); ?>
... html stuff ...
<?php
echo $this->Html->script('jquery');
echo $this->Html->script('jquery-ui-1.9.1');
echo $this->Html->script('rhinoslider-1.05');
echo $this->fetch('script');
echo $scripts_for_layout;
echo $this->Js->writeBuffer(); // Write cached scripts
?>
</body>
В извлеченном контенте есть, например, функция слайдера:
$(document).ready(function() {
$('#slideshow').rhinoslider();
});
Мои подходы: я тоже попробовал это с window.onload, который тоже не работает. Из-за моего понимания функций document.ready- и onload, я совершенно не понимаю, почему он не работает. Я полагаюсь на вас, ребята:) Заранее спасибо.
1 ответ
Похоже, это приводит к тому, что вы пытаетесь использовать $(document).ready()
до $
доступен. Вам нужно убедиться, что jQuery загружен, прежде чем делать какие-либо вызовы $()
, Попробуйте загрузить jQuery в <head>
,