章节
问答
课签
笔记
评论
占位
占位

下拉菜单--JavaScript触发方法

和模态弹出窗一样,Bootstrap框架中的下拉菜单也支持JavaScript方法触发下拉菜单显示。使用JavaScript触发下拉菜单和声明式原理是基本类似的,不同的是使用JavaScript方法可以按照自己的方式省略一些元素或者样式。同样用一个简单的示例来做演示:

<ul class="nav nav-pills">
    <li class="dropdown">
        <a href="##"  class="dropdown-toggle" role="button" id="tutorial">教程<b class="caret"></b></a>
        <ul class="dropdown-menu" role="menu" aria-labelledby="tutorial">
            <li role="presentation"><a href="##">CSS3</a></li>
            <li role="presentation"><a href="##">HTML5</a></li>
            <li role="presentation"><a href="##">Sass</a></li>
        </ul>
    </li>
    <li class="active"><a href="##">前端论坛</a></li>
    <li><a href="##">关于我们</a></li>
</ul>

使用JavaScript调用dropdown()方法后,单击激活按钮,会弹出下拉菜单,再次单击的时候会收起下拉菜单。

$(function(){
    $(".dropdown-toggle").dropdown();
})

还可以使用参数“toggle”。当下拉菜单隐藏时,调用dropdown(“toggle”)方法可以显示下拉菜单,反之,如果下拉菜单显示时,调用dropdown(“toggle”)方法可以让下拉菜单隐藏。

$(function(){
    $(".dropdown-toggle").dropdown("toggle");
})

不过使用该参数,每次单击都要两次toggle,就会一直是一个不变的状态。所以,一般情况下,使用示例中不带参数的方法。就算你需要使用参数“toggle”,也建议使用jQuery的one方法:

$(".dropdown-toggle").one("click",function(){
    $(this).dropdown("toggle");
})

任务

我来试试:用JavaScript的方法实现触发导航条的“下拉菜单”

1、删除右侧的a标签的data-toggle="dropdown"属性

2、在任务区写JavaScript代码以触发下接菜单的显示隐藏

不会怎么办?请查看任务提示区。

?不会了怎么办

参考代码如下:

<script>
$(function(){
    $(".dropdown-toggle").one("click",function(){
        $(this).dropdown("toggle");
    })
})
</script>
||
1
2
<!DOCTYPE HTML>
<html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最新回答 / 慕虎9597873
   $(function(){         $(".dropdown-toggle").on("click",function(){        $(".dropdown-menu").toggle();  })   })

最赞回答 / 木木_sen
如官网上所说,data-toggle="dropdown"不能省略data-toggle="dropdown" still requiredRegardless of whether you call your dropdown via JavaScript or instead use the data-api, data-toggle="dropdown" is always required to be present on the dropdown's trigger element.

最新回答 / 喝水的馒头
<!DOCTYPE html><html lang="en"><head>    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">    <title>Title</title>    <link rel="stylesheet" href="../bootstrap.css"></head><body><h...

最新回答 / PARADISELIN
不过使用该参数,每次单击都要两次toggle,就会一直是一个不变的状态。

已采纳回答 / weibo_帅哥我要退吧了_0
根据官网提示,使用js控制下拉菜单的显示与影藏不能删掉  data-toggle="dropdown"属性。因此这里使用的js语法可有可无。

最新回答 / 雪域飘阳
data-toggle="dropdown" 不能省

最新回答 / 慕设计3678775
a 标签的 data-toggle="dropdown" 都没有删掉 是可以隐藏的呀. 然后那个js代码就没什么必要了要先把data-toggle="dropdown"删掉 再试

最新回答 / 慕设计3678775
同问 可能只是个方法介绍吧....

最新回答 / 花花丹
Bootstrap官网用法:http://getbootstrap.com/javascript/#dropdowns原文如下:data-toggle="dropdown" still requiredRegardless of whether you call your dropdown via JavaScript or instead use the data-api, data-toggle="dropdown" is always required to be present on the dr...
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言