Я использую CakePHP, и в шаблоне я нажал каждый тег скрипта прямо перед тегом закрывающего тега, чтобы получить быстрый pageload. Теперь в теле, перед тегами script, есть некоторый код, который опирается на jQuery (слайдер и диаграммы). Поэтому я использовал функцию document.ready для этого, но ничего не происходит. Что мне нужно сделать для создания рабочего скрипта?Как запустить Javascript в шаблоне, а все скрипты внизу?
Некоторый код для вас, чтобы получить представление:
Шаблон 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 я совершенно не знаю, почему он не работает. Я полагаюсь на вас, ребята :) Спасибо заранее.
Похоже, вы пытаетесь запустить свой скрипт до того, как будут загружены необходимые сценарии. Что произойдет, если вы переместите 'fetch ('content')' после загрузки скриптов? –
Вы получаете какую-либо ошибку на консоли? также вы проверяете, действительно ли загружается jquery? – jycr753
спасибо, ребята, ответ был ниже. – Karl