Я хотел бы добавить эффект прокрутки на мою страницу, так что, когда я нажимаю ссылку на меню, она будет переходить на страницу туда, где ей нужно. Я настроил его так, что, когда я нажимаю на ссылку, он перейдет к нужному div, но когда я попытался добавить код jquery в файл index.php, ничего не происходит.
Я использую шаблон yougrids и Joomla 3.2.
div id - yjsg5, поэтому я помещаю ссылку на внешнюю ссылку в меню, которая ссылается на #yjsg5
. Он работает, когда я нажимаю на него, он переходит к той части страницы.
Теперь в моем index.php
я добавил этот фрагмент кода:
<script type="text/javascript">
var $root = $('html, body');
$('#yjsg5').click(function() {
var href = $.attr(this, 'href');
$root.animate({
scrollTop: $(href).offset().top
}, 2000, function () {
window.location.hash = href;
});
return false;
});
</script>
в конце <body>
. Но это не работает. Я прочитал, что они сменили что-то в Joomla 3 с jquery, поэтому это может быть причиной того, что он не работает.
Любая помощь будет оценена :)
Попробуйте поместить свой код внутри блока document.ready с псевдонимом пространства имен в качестве аргумента:
<script>
jQuery(document).ready(function($) {
...
});
// or
jQuery(function($) {
...
});
</script>
Joomla, вероятно, загружает jQuery с помощью noConflict()
, поэтому вы не можете использовать $
если вы этого не сделаете.
Кроме того, используя этот метод, вы можете разместить свой скрипт в любом месте на странице. jQuery будет ждать, пока DOM будет готова его запустить.