我对jquery很新,我正在努力学习如何在网站中有效地使用它。我正在研究我在网上找到的响应式导航插件。我的插件问题是下拉菜单有效,但当它进入移动设备时,激活下拉菜单的箭头不起作用。现在,我不知道我是不是正确启动脚本或者jquery脚本有什么问题。任何人都可以帮助,也许可以解释为什么事情有效或无效。谢谢!
<nav class="nav">
<ul class="nav-list">
<li class="nav-item">
<a href="#">HOME</a>
</li>
<li class="nav-item">
<a href="#">PORTFOLIO</a>
<ul class="nav-submenu">
<li class="nav-submenu-item">
<a href="#">STUDIO</a>
</li>
<li class="nav-submenu-item">
<a href="#">PORTRAITS</a>
</li>
<li class="nav-submenu-item">
<a href="#">SPORTS</a>
</li>
<li class="nav-submenu-item">
<a href="#">WEDDING</a>
</li>
<li class="nav-submenu-item">
<a href="#">ADVENTURE</a>
</li>
</ul>
</li>
<li class="nav-item">
<a href="#">ABOUT</a>
</li>
<li class="nav-item">
<a href="#">NEWS</a>
</li>
<li class="nav-item">
<a href="#">CONTACT</a>
</li>
</ul>
</nav>
JQUERY
;(function($){
// DOM ready
$(function() {
// Append the mobile icon nav
$('.nav').append($('<div class="nav-mobile"></div>'));
// Add a <span> to every .nav-item that has a <ul> inside
$('.nav-item').has('ul').prepend('<span class="nav-click"><i class="nav-arrow"></i></span>');
// Click to reveal the nav
$('.nav-mobile').click(function(){
$('.nav-list').toggle();
});
// Dynamic binding to on 'click'
$('.nav-list').on('click', '.nav-click', function(){
// Toggle the nested nav
$(this).siblings('.nav-submenu').toggle();
// Toggle the arrow using CSS3 transforms
$(this).children('.nav-arrow').toggleClass('nav-rotate');
});
});
})(jQuery的);
答案 0 :(得分:0)
我真的不太了解响应式导航插件。但我们需要以不同方式处理触摸事件。您可以在http://touchpunch.furf.com中包含用于触摸事件的库。
如果您只查看上下文菜单,可以尝试使用https://github.com/mar10/jquery-ui-contextmenu。它有办法处理触摸设备输入。