2017-04-24 81 views
0

我正在从事一项工作,我的雇主希望使用Bootstrap 3的响应式网站,但他们不希望在其现有的桌面网站上进行任何可视化更改(显然不是理想的,但超出了我的控制范围)。从外部按钮打开引导程序下拉菜单

目前我正在处理导航部分。我遇到的问题是,我有一个登录表单(这里是一个占位符),位于导航菜单下拉菜单内。在移动时在下拉菜单中显示reamins,但在固定顶部标题栏标题“Login”中添加了一个单独的图标按钮,该标题位于汉堡菜单附近,即使主导航已关闭,也可以看到。下面是我的codepen:

http://codepen.io/v_for_vinsanity/pen/YVGZdb

我正在寻找一种方式来获得登录下拉菜单打开,当我点击登录图标按钮。下面是登录下拉菜单代码:

<li class="dropdown login-dropdown"> 
       <a href="#" class="dropdown-toggle login-btn" data-toggle="dropdown" aria-expanded="false">Login <span class="caret"></span></a> 
       <ul role="menu" class="dropdown-menu dropdown-menu-right"> 
       <li> 
      <img src="http://placehold.it/350x300" alt="login-placeholder"> 
       </li> 
       </ul> 
      </li> 

使用jQuery,我已经能够得到的焦点转移到登录下拉菜单(你将在codepen看到),但我还没有能将“open”类添加到li class =“dropdown login-dropdown”中,并/或将login锚标签上的aria-expanded属性更改为“true”。香港专业教育学院尝试了许多不同的方法,但下面你会发现什么,我目前有:

$(function(){ 
    $('.login-icon-btn').click(function(){ 
     $('.nav li.login-dropdown a').trigger('click'); 
     $('.nav li.login-dropdown').addClass('open'); 
     $('.login-btn').attr("aria-expanded","true"); 
    }); 
}); 

任何帮助,这是非常感谢!

回答

0

,这将是一种选择

$(function(){ 
     $('.login-icon-btn').click(function(){ 
      $('.navbar-toggle').click(); 
      $('.login-btn').click(); 
      return false; 
     }); 
    }); 
+0

感谢@Richi Zee的 - 您的解决方案的伟大工程的唯一的问题是我需要使用if/else语句,以确定是否滑出导航已经被打开,这将决定运行或不运行$('。navbar-toggle')。click();.但你已经得到了巨大的帮助,非常感谢! –

相关问题