【问题标题】:Navbar dropdown list auto open and auto close?导航栏下拉列表自动打开和自动关闭?
【发布时间】:2016-02-12 18:49:19
【问题描述】:

我在另一个站点的导航栏中添加了一个下拉列表,并将 .open 类添加到列表中。我的意图如下:加载网页导航栏列表时包含一个 img 元素并打开显示促销优惠。到目前为止一切顺利,页面加载并且列表下降显示广告,如果单击它然后关闭。

好的,我的目标是通过 jquery 或 JavaScript 或 css 添加一个函数,该函数将在大约 5 秒后自动关闭下拉列表。我已经读到 bootstraps.min.css 中的 .open 类默认情况下不会被清除,因此除非“单击”关闭它,否则它将保持打开状态。

 <div class="navbar-responsive">
   <ul class="nav navbar-nav">
   <li class="active">
     <li class="open dropdown-menu">
      <a href="#" Id="test" class="dropdown-toggle" data-               toggle="dropdown"><strong class="caret">

  <ul class="dropdown-menu">
     <li>
         <a href="#">Click to close.</a>
      </li>

           <li>
             <img src="image folder/my_ad_image.png" 
            </li>
           </ul>
        </li>
     </li>
   </ul>
     </div><!---end nav collapse--->
    </div><!---end container--->
   </div>>!---end main navbar--->

以上是我写的。它位于一个已经存在的导航栏之上。 感谢阅读。

如果有人有任何建议或可以为我指出正确的方向,将 jquery 超时函数绑定到我的 .open 类或 id 上,那就太好了。到目前为止,我无法将 jquery 函数或 css 绑定到我的下拉列表 谢谢。

【问题讨论】:

  • 一点 jQuery 就可以很好地完成这项工作。你试过什么? getbootstrap.com/javascript/#dropdowns-methods
  • 我尝试了不透明度缓和,从 1 移到 0,但它没有关闭下拉菜单。我要么尝试错误的方法,要么需要释放类 .open 。不能确定

标签: javascript jquery css twitter-bootstrap-3


【解决方案1】:

你可以使用setTimeout()在javascript中实现定时器。

setTimeout() 方法调用函数或计算表达式 在指定的毫秒数之后。

修改你的代码可以这样实现:

CSS:

...
<li id="myid" class="open dropdown-menu">
    <a href="#" class="dropdown-toggle" data-toggle="dropdown"><strong class="caret"></strong></a>
    <ul class="dropdown-menu">
        <li>
            <a href="#">Click to close.</a>
        </li>

        <li> ... </li>
    </ul>
</li>
...

jScript(假设您使用的是 jQuery):

$(function() {
    setTimeout(function() {
        $("#myid").removeClass("open")
    }, 5000);
});

【讨论】:

  • 我倾向于使用下拉菜单的 hide() 方法,以防万一它对 DOM 做其他事情。
  • @isherwood 当然,hide() 更适合这里。我只是想在上下文中展示一个小例子来强调setTimeout()
  • 谢谢,但不起作用。我不知道可能会释放 drop 类,但列表不会在五秒后再次关闭。仍然只关闭点击。
  • @GreatScott 我已经为您制作了一个 jsfiddle 在这里演示它:jsfiddle.net/75zkat4j/4 ... 请注意,您的模型中也有一些 html 错误 - 这可能会给您带来一些问题。
  • 谢谢。检查了我的代码,它是正确的,所以我想我的 jquery 链接搞砸了?我认为把它放在另一个导航栏中一定会破坏链接。至少我知道这部分是对的,谢谢你的帮助'
猜你喜欢
  • 2019-09-06
  • 1970-01-01
  • 1970-01-01
  • 2019-10-14
  • 1970-01-01
  • 1970-01-01
  • 2020-10-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多