2014-01-09 3 views
0

Я работаю над тем, чтобы сделать навигацию нажатой на клик, но когда я тестирую на своем мобильном устройстве, она открывает ссылку вместо того, чтобы просто показывать вложенный список. Я пробовал кучу разных вещей и широко искал этот сайт, но я не могу понять это.jquery toggle make links work eratically

http://www.duddywebdesign.com/doti < - это испытательный полигон, здесь разметка

<nav> 
    <a href="#" id="menu-button" id="showmenu">&#9776; Menu</a> 
    <ul class="menu"> 
     <li><a href="#">Home</a></li> 
     <li><a href="#">About</a></li> 
     <li><a href="#">Services</a> 
      <ul> 
       <li><a href="#">Microdermabrasion</a></li> 
       <li><a href="#">LED</a></li> 
       <li><a href="#">Massage</a></li> 
       <li><a href="#">Acupuncture</a></li> 
       <li><a href="#">Energy Work</a></li> 
       <li><a href="#">Packages</a></li> 
      </ul> 
     </li> 
     <li><a href="#">Blog</a></li> 
    </ul> 
</nav> 

А вот JQuery:

$('#menu-button').click(function() { 
    $('.menu').slideToggle('fast'); 
    return false; 
}); 
$("li").has("ul").addClass("cursor");  
$('nav ul li a').click(function(e) { 
    if ($(this).hasClass("cursor")) { 
     e.preventDefault(); 
    } 
    $(this).next("ul").slideToggle("fast"); 
}); 

Это новый код, который я пытался настроить, до этого ни одна из ссылок на nav не будет работать вообще. Пожалуйста, помогите, спасибо.

+0

Чтобы уточнить, на мобильный я хочу, чтобы нажать кнопку «Услуги» и иметь его расширить список, но он появится на странице услуги. – timduddy

+0

Хорошо работает здесь - http://jsfiddle.net/K3uEc/. Я не вижу, как он может перейти на другую страницу, поскольку в ссылке нет URL-адреса? –

+0

Я реализую это в тему Wordpress, над которой я работаю. Ссылка имеет URL-адрес в этом примере, я связал в верхней части – timduddy

ответ

0

Try:

$('#menu-button').click(function(e) { 
     $('.menu').slideToggle('fast'); 
     return false; 
    }); 

    $("li").has("ul").addClass("cursor"); 

    $('nav ul li a').click(function(e) { 
     if ($(this).hasClass("cursor")) { 
      $(this).next("ul").slideToggle("fast"); 

    } 
     e.preventDefault(); 

    }); 
+0

Я хочу, чтобы ссылка, которая имеет подменю, не работает при нажатии, когда я пытаюсь сделать это, он делает все ссылки не интерактивными, также это делает подменю не переключается при нажатии. – timduddy