2016-09-09 5 views
1

У меня есть сайт wordpress, и я использовал шаблон для этого. Поэтому, когда я нахожусь на мобильном телефоне, у меня есть мобильное меню, которое я смог зафиксировать, чтобы оставаться наверху, когда я прокручиваю вниз, но проблема в этом. Когда я нахожусь на определенном месте на сайте, и я хочу открыть меню с помощью значка «три строки», он открывает меню, но также выводит меня в начало страницы. И когда я хочу закрыть меню с помощью кнопки X, он также попадает в верхнюю часть страницы, поэтому в основном меню непригодно. Я знаю, что это проблема JQuery, но я не могу найти, какой файл содержит коды для нее и даже как исправить это.Кнопка мобильного меню занимает верхнюю часть страницы

Мой сайт: www.autoberles-szombathely.hu

Так я хочу сделать кнопку открытия меню и кнопку закрытия меню для только открыть и закрыть меню и не принимают меня к началу страницы ,

+1

Проблема может заключаться в 'href =" # "' по ссылке меню. Чтобы предотвратить это, вы можете добавить обработчик событий к этой ссылке и сделать 'event.prevetnDefault()' – empiric

+0

@empiric, я нахожусь на сафари, и он всегда возвращает меня в начало страницы –

+0

@empiric прав, поскольку он сделал опечатка. Это событие event.preventDefault(). Хотя вы могли бы также полностью удалить href. – Tom

ответ

0

вы можете использовать:

$(selector).click(function(event) { 
    event.preventDefault(); 
    //other stuff you might want to do on event 
}); 

Для записи вы не должны удалить HREF полностью, она должна всегда существовать, чтобы предотвратить неожиданное поведение. Если вы не хотите, чтобы href выполнялся, просто используйте этот метод preventDefault(), который легко и безопасно работает.

0

Ваше меню имеет следующую структуру в мобильном видовом:

<a href="#" class="menu-toggle btn ripple-effect btn-theme-transparent"><i class="fa fa-bars"></i></a> 

# заставит страницы, чтобы перейти к вершине, см here за подробный ответ почему.

У вас есть два possibilies, чтобы предотвратить это behavoir:

  1. Добавить обработчик события по этой ссылке и использовать event.preventDefault()

Для JQuery

$('.menu-toggle').on('click', function(event){ 
    event.preventDefault(); 
}); 

VanillaJs

document.getElementsByClassname('menu-toggle').addEventListener('click', function(event){ 
    event.preventDefault() 
}); 
  1. Исключить атрибут href (см. here). При использовании этого решения вам необходимо использовать css-reset или add, например. cursor:pointer к этим ссылкам снова, потому что стандартный браузер css больше не применяется.
Смежные вопросы