Доброго времени суток. Не знаю в тот ли раздел поал,вообщем пытаюсь на главной странице шаблона запустить слайд шоу на Jquery но не чего не работает. По форуму есть темы с проблемой подключения Jquery но побробовав разные варианты, все равно у меня не работа Скрипты пишу в index.php. # Подключение <script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js?ver=1.3.2'></script> <script type="text/javascript" src="js/jquery.cycle.all.min.js"></script> <script type="text/javascript" src="js/jquery.easing.1.1.1.js"></script> #Сам скриптик <script type="text/javascript" var $conf = jQuery.noConflict(); $conf(function () { $("#slideshow").cycle({ fx: 'cover', speed: 1000, timeout: 2500 }); }); </script> Эсть такая штука SC jQuery, но я в етом деле в принципе начинающий, и после установки этого плагина не допру что делать дальше. Пишут что надо обернуть скрипт в jQuery(function($) { $('body').css('color','red'); }); но у меня все равно не работает. Может у кого было похожее, как кто решал?
рекомендую все манипуляции с JS-кодом производить в отдельных библиотеках. А что бы это все работало нужно все обернуть в он-лоад: Код (CODE): JQuery(document).ready(function() { });
типа так JQuery(document).ready(function() { $("#slideshow").cycle({ fx: 'cover', speed: 1000, timeout: 2500 }); }); вот че мне после етого пишет Ошибка: $("#slideshow") is null Источник: http://tovznak/templates/tovznak/js/script.js Строка: 13 Ошибка: $("#slideshow").cycle is not a function Источник: http://tovznak/ Строка: 77 что бы могло быть?
Ну пишет же что элемента с id ="slideshow" нету на странице. Вторая ошибка вытекает из первой. Или это конфликт с mooptools который тоже использует $. В первом варианте было же noConflict() почему во втором варианте не используется
а как елемента может не быть на странице ,если вот он? Привожу именно етот див. <div id="slideshow"> <img src="templates/tovznak/images/fotokiev1.jpg" alt="Фотография киева" /> <img src="templates/tovznak/images/fotokiev.jpg" alt="Фотография киева" /> </div> По поводу noConflict() , по теории если я оборачиваю мой скрипт в noConflict(), то у меня конфликтов быть не должно, ну и соотвецтвенно сткрипт должен заработать. Но у меня он не работает!!!. В етом получается и суть вопроса, что при оборачивании в noConflict() скрипт не работает. Вообще интерестно, менял ай ди, менял классы у дива к которому обращаюсь, но все равно пишет Ошибка: $("#slideshow") is null . Если всавлял *var $conf = jQuery.noConflict(); $conf(function () { $("#slideshow").cycle({ fx: 'cover', speed: 1000, timeout: 2500 }); }); то пишет что Ошибка: jQuery is not defined
<script type="text/javascript"> JQuery(document).ready(function() { var conf = jQuery.noConflict(); conf("#slideshow").cycle({ fx: 'cover', speed: 1000, timeout: 2500 }); }); </script>
optic, у вас объявлено var $conf = jQuery.noConflict(); забудьте про $. Теперь все команды jQuery должны выглядеть как $conf(); <script type="text/javascript"> var $conf = jQuery.noConflict(); $conf(document).ready(function() { $conf("#slideshow").cycle({ fx: 'cover', speed: 1000, timeout: 2500 }); }); </script>
botanist вставил предложеный вами вариант no conflict в index.php. но все равно скрипт не запускается, если создавать отдельно html файлик то скриптик работает. причем с no conflict пишет что JQuery is not defined в консоле ошибок firebug. Я так понимаю что не может определить Jquery, не понимает что ето именно оно. Если убрать no conflict, т.е $("#slideshow").cycle({ fx: 'cover', speed: 1000, timeout: 2500 }); то получаем $("#slideshow").cycle is not a function Line 90
а у тебя вообще сам фреймворк Jquery подключен к шаблону? и забей ты на эту переменную которую ты создаёшь, помести в папку JS сам Jquery.js чтобы он не грузился с гугла, далее в index.php напиши Код (PHP): <script type='text/javascript' src='/js/jquery.js'></script> <!-- подключаем фреймворк --> <script type='text/javascript' src='/js/[B]script[/B].js'></script> <!-- подключаем скрипт --> в самом скрипте напиши: JQuery.noconflict(); а далее вместо всех "$" просто пиши слово "Jquery" и работать будет на ура!!!
ну вот она $("#slideshow").cycle({ fx: 'cover', speed: 1000, timeout: 2500 }); конечно не исключено что я долдон, но #подключение <script type="text/javascript" src="/templates/<?php echo $this->template ?>/js/script.js"></script> <script type='text/javascript' src='/templates/<?php echo $this->template ?>/js/jquery-1.4.2.min.js'></script> <script type="text/javascript" src="/templates/<?php echo $this->template ?>/js/jquery.cycle.all.min.js"></script><!--библиотеки необходимые для роботы еффекта--> <script type="text/javascript" src="/templates/<?php echo $this->template ?>/js/jquery.easing.1.1.1.js"></script><!--библиотеки необходимые для роботы еффекта--> #Сам скрипт в файле script.js JQuery.noconflict(); JQuery("#slideshow").cycle({ fx: 'cover', speed: 1000, timeout: 2500 }); мой блок который должен двигатся как слайд шоу(на всякий приведу код, хотя особо он не нужен) <div id="slideshow"> <img src="templates/tovznak/images/fotokiev1.jpg" alt="Фотография киева" /> <img src="templates/tovznak/images/fotokiev.jpg" alt="Фотография киева" /> <img src="templates/tovznak/images/fotokiev1.jpg" alt="Фотография киева" /> <img src="templates/tovznak/images/fotokiev.jpg" alt="Фотография киева" /> </div> И не фига не работае выдает тож самое Ошибка: JQuery is not defined т.е библиотека не подключается и соотвецтенно функцию определить не может. Ошибка: $("#slideshow").cycle is not a function
обернул вот так jQuery(function() { jQuery.noConflict(); }); ошибка о не определении Jquery пропала осталась о том, что cycle не функция Ошибка: $("#slideshow").cycle is not a function во етого вообще не могу догнать, что ето может значить?
во-первых почему то у тебя библиотека сама по себе не подключена, этот вопрос ты задай себе, может у тебя к ней просто путь неправильно прописан во-вторых сам скрипт у тебя оформлен не верно смотри как оно должно быть: Код (CODE): jQuery.noConflict(); jQuery ( function () { jQuery("#slideshow").cycle({ fx: 'fade', speed: 3000, timeout: 5000 }); } )
скрипт исправил, по поводу подключения , путь прописан так же как и для css: <link rel="stylesheet" href="/templates/<?php echo $this->template ?>/css/style.css" type="text/css" /> <script type='text/javascript' src="/templates/<?php echo $this->template ?>/js/jquery-1.4.2.min.js"></script> цсс работает, вроде как и библиотеки должны подключится, ладно по гуглю на ету тему
так, вообщем осталась одна ошибка Ошибка: jQuery("#slideshow").cycle is not a function Источник: http://tovznak/templates/tovznak/js/script.js Строка: 29 это значит что библиотеки не подключены? хотя по логике если виден мой script.js то должны наверно подключатся и библиотеки , которые находятся в той же папке. Функция cycle у меня описана в jquery.easing.1.1.1.js вроде. т.е должно работать, но нет... что то в конец запутался, мистика какая то
вот тебе названия библиотек которые подключены на сайте boombox.ru и там работает на главной это слайд шоу 1.3.2/jquery.min.js jquery.cycle.all.latest.js резанул прямо из исходного кода страницы
Вообщем по прежнему не хрена не работает, но я вроде понял почему, не подключаются библиотеки. Я закоментил строчки подключения, и ошибка та же выскакивает Но как я не пробовал менять путь, к файликам библиотек, не фига не помогает, положыл их даже в корень <!--<script type="text/javascript" src="jquery.cycle.all.min.js"></script> <script type="text/javascript" src="jquery.easing.1.1.1.js"></script>--> в принципе то же самое. Тут я вообще не могу понять, разве можно их каким то другим способом подключить? Эсли нет, то что, выходит я их не смогу вообще подключить? ерунда какая то.
У меня подобная проблема, как не бился не смог jQuery поставить на Joomla. Попробуйте использовать плагин jQuery++ Integrator (http://extensions.joomla.org/extensions/core-enhancements/scripts/12995), правда он мне тоже не помог, но возможно у вас получится. Если решите проблему отпишитесь пожалуйста. )
омг, что с вами происходит ? Код (CODE): jQuery(document).ready(function() { var j = jQuery.noConflict(); alert( j("myid").text() ); } в чем проблема ???
Когда селектор не нашел элемент - jquery ругаться не будет. Просто Jquery не подключен. Я его подключаю после <jdoc:include type="head" /> потом jQuery.noConflict();