Всем доброе время суток!
Нужна небольшая помощь.
Есть нода с тремя вкладками quicktabs. Но quicktabs не позволяет реализовать следующее.
Хочу чтобы вкладки у ноды работали за принципом сайта на одну страницу. То есть как якори на определенную часть ноды.
Каждая нода уникальная и имеет свой текст. Добавлять ноды могут все (все, кроме анонимов).
Кто подскажет что нибудь. Возможно есть готовое решение в виде модуля. Пробовал также field group, но пока не нашел то что нужно.
Использую Д7.
За ранее большое спасибо какой нибудь совет или помощь!
P.S. Если кому-то это покажется очень легким вопросом - извините за такой вопрос. Потратил уже немало времени, поэтому и спрашиваю.
Комментарии
Не понятно, может подробнее?
Есть нода с тремя вкладками. Вывод через блоки views. Три блока.
Активаня первая вкладка по умолчанию. Нажимаем на вторую вкладку - прокрутка на определенное место ноды, то есть к второму блоку.
Нажимаем на третью - прокрутка к блоку три ноды.
Вкладки - floating.
Как можно такое реализовать? Пока играюсь с menu_tokens, но не получается.
Удалось реализовать с помощью menu_tokens dev версия + floating block.
Пока осталось что-то придумать с прокруткой. Возможно поможет модуль Scroll to destination anchors.
если ссылки на якоря заработали, то проще написать и подключить к теме скрипт для плавной прокрутки, чем утяжелять систему модулями.
Та я не силен в скриптах. И модуль Scroll to destination anchors не работает для такого типа якорей. Но спасибо за путь, куда двигаться.
Попробую поискать. Возможно кто-то писал подобное, а я уже поправлю под себя ))
Возможно Вы встречали подобные топики?
У меня ссылка в пути выглядит так [current-page:url]#block-views-profile-block-2 - это не сильно усложнить мне писание скрипта?
Возможно нужно на что-то обратить внимание?
со ссылкой на якорь вообще хорошо - не надо ссылкам класс присваивать. Гугл по запросу "плавная прокрутка jquery" даёт множество дельных советов. Можно например так:
$('a[href^="#"]').click(function(){
var target = $(this).attr('href');
$('html, body').animate({scrollTop: $(target).offset().top}, 1000);
return false;
});
})(jQuery);
Спасибо большое.
Буду сейчас пробовать.
Не получается что-то. Создал файл scroll.js, в котором прописал данный код.
Потом добавил в инфо файл темы строку scripts[] = scripts/scroll.js
Файл разместил в папке scripts в корне темы.
Что сделал не так? ))
Кэш чистил
может селектор неверный. Можно попробовать привязать его к классу, а не к шаблону пути ссылки. Ну и проверить, что на каком шагу не работает. Я обычно для отладки вставляю какой-нибудь alert(123) сразу после того оператора, который неизвестно, работает ли.
Ну и само собой, глянуть сперва код страницы, чтобы проверить, подключается ли скрипт.
Скрипт подключается. Вот так отображается.
В вашем коде я также заменял top на bottom, так как прокрутка вообщем вниз (а также в верх.)
<script src="http://mysite.com/modules/statistics/statistics.js?nc5259" type="text/javascript">
(function ($) {
$(document).ready(function() {
$.ajax({
type: "POST",
cache: false,
url: Drupal.settings.statistics.url,
data: Drupal.settings.statistics.data
});
});
})(jQuery);
</script>
Согласен. Особенно если речь идёт о циклах
это же совсем другой скрипт. Зачем он тут?)))
Не то скопировал. Вообщем кода не видно
Вообщем кода не видно. Это весь скрипт, который был.
топ здесь вообще-то не указывает направление прокрутки, а показывает координату, куда крутить. Естественно, что координата высоты считается от верха страницы
а ты чистил кэш браузера или кэш сайта?
Кэш сайта чистил несколько раз.
там в твоём случае нужно $('a[href^="#"]') заменить на $('a[href*="#"]'). Т.е. звёздочку вместо галки поставить, потому что решётка у тебя не в начале ссылки. Но я так и не понял, подключается сам скрипт у тебя или нет)))
Я уже пробовал заменять. Не помогло.
Скрипт подгружается. И при переходе по ссылке - вижу код своего скрипта.
Вот весь код под тэгом script. Возможно где-то конфликт
<script type="text/javascript" src="http://mysite.com/misc/jquery.once.js?v=1.2"></script>
<script type="text/javascript" src="http://mysite.com/misc/drupal.js?nc5hik"></script>
<script type="text/javascript" src="http://mysite.com/sites/all/modules/views_slideshow/js/views_slideshow.j...></script>
<script type="text/javascript" src="http://mysite.com/sites/all/modules/admin_menu/admin_devel/admin_devel.j...></script>
<script type="text/javascript" src="http://mysite.com/sites/all/modules/floating_block/floating_block.js?nc5...></script>
<script type="text/javascript" src="http://mysite.com/sites/all/modules/popup/popup.js?nc5hik"></script>
<script type="text/javascript" src="http://mysite.com/sites/all/libraries/jquery.cycle/jquery.cycle.all.min....></script>
<script type="text/javascript" src="http://mysite.com/sites/all/modules/views_slideshow/contrib/views_slides...></script>
<script type="text/javascript" src="http://mysite.com/sites/all/libraries/superfish/superfish.js?nc5hik"></script>
<script type="text/javascript" src="http://mysite.com/sites/all/libraries/superfish/supposition.js?nc5hik"></script>
<script type="text/javascript" src="http://mysite.com/sites/all/libraries/superfish/jquery.hoverIntent.minif...></script>
<script type="text/javascript" src="http://mysite.com/sites/all/libraries/superfish/supersubs.js?nc5hik"></script>
<script type="text/javascript" src="http://mysite.com/sites/all/modules/superfish/superfish.js?nc5hik"></script>
<script type="text/javascript" src="http://mysite.com/themes/bartik/scripts/scroll.js?nc5hik"></script>
<script type="text/javascript">
<!--//--><![CDATA[//><!--
jQuery.extend(Drupal.settings, {"basePath":....тут долгий код или текст............. /statistics\/statistics.php"}})
//--><!]]>
</script>
Есть еще какие-то советы по поводу прокручивания?
только если на месте смотреть...