Здравствуйте.
Есть сайт troicaslonim.by с горизонтальным меню, которое посредством манипулятора (мышь) работает хорошо: при наведении на любую рубрику - раскрывается список дочерних пунктов (подрубрик), при левом клике - происходит преход в выбранную рубрику (подрубрику).
Но на смартфонах при навигации с сэнсорного экрана, чтобы открылись подрубрики нужной рубрики, нужно коснуться ее. При этом список подрубрик открывается, но сразу же происходит перенаправление пользователя в саму рубрику.
Как сделать, чтобы при навигации с сэнсорного экрана при первом касании по рубрике открывался список входящих в нее подрубрик, а только при втором касании происходил переход в выбранную (с уже открытым списком) саму рубрику либо ее подрубрику (взависимости от выбора пользователя)?
С искренней благодарностью ко всем, кто попробует помочь!
Комментарии
В настройках блока от модуля Superfish можно все это выставить.
У вас то ли модуль был и вы его снесли, толи заставили Superfish работать с меню програмно выведеном в теме. Не могу сходу по коду определить.
Superfish - блоки изначально отключены. Сама тема их не предполагает. Горизонтальное меню синхронизировано со словарями таксономии.
Может можно прописать для меню через css чтобы при первом клике по рубрике не происходил переход по ссылке, а открывался список дочерних терминов...
клик для css - это чтото новое, может лучше js?
Сергей, может. А можно чуть подробнее или ссылку?
через js например использовать touchstart
рабочий пример
$('.menu:first .owl-item > li.expanded, .menu:first > li.expanded', thisEl).each(function () {
$(this).on('touchstart', '> a', function () {
if ($(this).hasClass('touchstart')) {
$(this).addClass('touchstart-2');
} else {
$('.menu:first .owl-item > li.expanded a, .menu:first > li.expanded a', thisEl).removeClass('touchstart');
$(this).addClass('touchstart');
}
});
$(this).on('click', '> a', function () {
if ($(this).hasClass('touchstart')) {
if (!$(this).hasClass('touchstart-2')) {
return false;
} else {
$(this).removeClass('touchstart').removeClass('touchstart-2');
}
}
});
});
...
Благодарю! Воспользовались предложенным Вами кодом. Начало работать на сенсорниках.
Троша, ставите в Суперфишь - автоматом соаздается блок.
В настройках этого блока указываете ваше меню. И там мышкой понажмайте все опции.
В page.tpl.php убирайте вывод главного меню.
И на его месте возможно нужно сделать регион.
В этот регион помещаете блок от Суперфиш.
Остается поработать со стилями.
Благодарю. Попробовали так:
в файле стлей:
Ну это наверное без меня. Я считаю, что в настроках Суперфиш для блока все без кодинга доступно.