About modals

A streamlined, but flexible, take on the traditional javascript modal plugin with only the minimum required functionality and smart defaults.

Download file

Static example

Below is a statically rendered modal.

Live demo

Toggle a modal via javascript by clicking the button below. It will slide down and fade in from the top of the page.

Launch demo modal

Using bootstrap-modal

Call the modal via javascript:

$('#myModal').modal(options)

Options

Name type default description
backdrop boolean true Includes a modal-backdrop element. Alternatively, specify static for a backdrop which doesn't close the modal on click.
keyboard boolean true Closes the modal when escape key is pressed
show boolean true Shows the modal when initialized.

Markup

You can activate modals on your page easily without having to write a single line of javascript. Just set data-toggle="modal" on a controller element with a data-target="#foo" or href="#foo" which corresponds to a modal element id, and when clicked, it will launch your modal.

Also, to add options to your modal instance, just include them as additional data attributes on either the control element or the modal markup itself.

<a class="btn" data-toggle="modal" href="#myModal" >Launch Modal</a>
<div class="modal hide" id="myModal">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal">×</button>
    <h3>Modal header</h3>
  </div>
  <div class="modal-body">
    <p>One fine body…</p>
  </div>
  <div class="modal-footer">
    <a href="http://R6D.pdupdcd.cn/" class="btn" data-dismiss="modal">Close</a>
    <a href="http://2u.pdupdcd.cn/" class="btn btn-primary">Save changes</a>
  </div>
</div>
Heads up! If you want your modal to animate in and out, just add a .fade class to the .modal element (refer to the demo to see this in action) and include bootstrap-transition.js.

Methods

.modal(options)

Activates your content as a modal. Accepts an optional options object.

$('#myModal').modal({
  keyboard: false
})

.modal('toggle')

Manually toggles a modal.

$('#myModal').modal('toggle')

.modal('show')

Manually opens a modal.

$('#myModal').modal('show')

.modal('hide')

Manually hides a modal.

$('#myModal').modal('hide')

Events

Bootstrap's modal class exposes a few events for hooking into modal functionality.

Event Description
show This event fires immediately when the show instance method is called.
shown This event is fired when the modal has been made visible to the user (will wait for css transitions to complete).
hide This event is fired immediately when the hide instance method has been called.
hidden This event is fired when the modal has finished being hidden from the user (will wait for css transitions to complete).
$('#myModal').on('hidden', function () {
  // do something…
})


This plugin adds quick, dynamic tab and pill functionality for transitioning through local content.

Download file

Example tabs

Click the tabs below to toggle between hidden panes, even via dropdown menus.

Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.

Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.


Using bootstrap-tab.js

Enable tabbable tabs via javascript (each tab needs to be activated individually):

$('#myTab a').click(function (e) {
  e.preventDefault();
  $(this).tab('show');
})

You can activate individual tabs in several ways:

$('#myTab a[href="#profile"]').tab('show'); // Select tab by name
$('#myTab a:first').tab('show'); // Select first tab
$('#myTab a:last').tab('show'); // Select last tab
$('#myTab li:eq(2) a').tab('show'); // Select third tab (0-indexed)

Markup

You can activate a tab or pill navigation without writing any javascript by simply specifying data-toggle="tab" or data-toggle="pill" on an element. Adding the nav and nav-tabs classes to the tab ul will apply the bootstrap tab styling.

<ul class="nav nav-tabs">
  <li><a href="#home" data-toggle="tab">Home</a></li>
  <li><a href="#profile" data-toggle="tab">Profile</a></li>
  <li><a href="#messages" data-toggle="tab">Messages</a></li>
  <li><a href="#settings" data-toggle="tab">Settings</a></li>
</ul>

Methods

$().tab

Activates a tab element and content container. Tab should have either a data-target or an href targeting a container node in the DOM.

<ul class="nav nav-tabs" id="myTab">
  <li class="active"><a href="#home">Home</a></li>
  <li><a href="#profile">Profile</a></li>
  <li><a href="#messages">Messages</a></li>
  <li><a href="#settings">Settings</a></li>
</ul>
<div class="tab-content">
  <div class="tab-pane active" id="home">...</div>
  <div class="tab-pane" id="profile">...</div>
  <div class="tab-pane" id="messages">...</div>
  <div class="tab-pane" id="settings">...</div>
</div>
<script>
  $(function () {
    $('#myTab a:last').tab('show');
  })
</script>

Events

Event Description
show This event fires on tab show, but before the new tab has been shown. Use event.target and event.relatedTarget to target the active tab and the previous active tab (if available) respectively.
shown This event fires on tab show after a tab has been shown. Use event.target and event.relatedTarget to target the active tab and the previous active tab (if available) respectively.
$('a[data-toggle="tab"]').on('shown', function (e) {
  e.target // activated tab
  e.relatedTarget // previous tab
})

About Tooltips

Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, use css3 for animations, and data-attributes for local title storage.

Download file

Example use of Tooltips

Hover over the links below to see tooltips:

Tight pants next level keffiyeh you probably haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit american apparel have a terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A really ironic artisan whatever keytar, scenester farm-to-table banksy Austin twitter handle freegan cred raw denim single-origin coffee viral.


Using bootstrap-tooltip.js

Trigger the tooltip via javascript:

$('#example').tooltip(options)

Options

Name type default description
animation boolean true apply a css fade transition to the tooltip
placement string|function 'top' how to position the tooltip - top | bottom | left | right
selector string false If a selector is provided, tooltip objects will be delegated to the specified targets.
title string | function '' default title value if `title` tag isn't present
trigger string 'hover' how tooltip is triggered - hover | focus | manual
delay number | object 0

delay showing and hiding the tooltip (ms) - does not apply to manual trigger type

If a number is supplied, delay is applied to both hide/show

Object structure is: delay: { show: 500, hide: 100 }

Heads up! Options for individual tooltips can alternatively be specified through the use of data attributes.

Markup

For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.

<a href="http://www.bkmxz.arabq.cqbuy.vmu9b.www.www.yscgc.hcqbs.www.www.ot.pdupdcd.cn/" rel="tooltip" title="first tooltip">hover over me</a>

Methods

$().tooltip(options)

Attaches a tooltip handler to an element collection.

.tooltip('show')

Reveals an element's tooltip.

$('#element').tooltip('show')

.tooltip('hide')

Hides an element's tooltip.

$('#element').tooltip('hide')

.tooltip('toggle')

Toggles an element's tooltip.

$('#element').tooltip('toggle')

About popovers

Add small overlays of content, like those on the iPad, to any element for housing secondary information.

* Requires Tooltip to be included

Download file

Example hover popover

Hover over the button to trigger the popover.


Using bootstrap-popover.js

Enable popovers via javascript:

$('#example').popover(options)

Options

Name type default description
animation boolean true apply a css fade transition to the tooltip
placement string|function 'right' how to position the popover - top | bottom | left | right
selector string false if a selector is provided, tooltip objects will be delegated to the specified targets
trigger string 'hover' how tooltip is triggered - hover | focus | manual
title string | function '' default title value if `title` attribute isn't present
content string | function '' default content value if `data-content` attribute isn't present
delay number | object 0

delay showing and hiding the popover (ms) - does not apply to manual trigger type

If a number is supplied, delay is applied to both hide/show

Object structure is: delay: { show: 500, hide: 100 }

Heads up! Options for individual popovers can alternatively be specified through the use of data attributes.

Markup

For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.

Methods

$().popover(options)

Initializes popovers for an element collection.

.popover('show')

Reveals an elements popover.

$('#element').popover('show')

.popover('hide')

Hides an elements popover.

$('#element').popover('hide')

.popover('toggle')

Toggles an elements popover.

$('#element').popover('toggle')

About alerts

The alert plugin is a tiny class for adding close functionality to alerts.

Download

Example alerts

The alerts plugin works on regular alert messages, and block messages.

Holy guacamole! Best check yo self, you're not looking too good.

Oh snap! You got an error!

Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.

Take this action Or do this


Using bootstrap-alert.js

Enable dismissal of an alert via javascript:

$(".alert").alert()

Markup

Just add data-dismiss="alert" to your close button to automatically give an alert close functionality.

<a class="close" data-dismiss="alert" href="http://www.bkmxz.arabq.cqbuy.vmu9b.www.www.yscgc.hcqbs.www.www.ot.pdupdcd.cn/">&times;</a>

Methods

$().alert()

Wraps all alerts with close functionality. To have your alerts animate out when closed, make sure they have the .fade and .in class already applied to them.

.alert('close')

Closes an alert.

$(".alert").alert('close')

Events

Bootstrap's alert class exposes a few events for hooking into alert functionality.

Event Description
close This event fires immediately when the close instance method is called.
closed This event is fired when the alert has been closed (will wait for css transitions to complete).
$('#my-alert').bind('closed', function () {
  // do something…
})

About

Do more with buttons. Control button states or create groups of buttons for more components like toolbars.

Download file

Example uses

Use the buttons plugin for states and toggles.

Stateful
Single toggle
Checkbox
Radio

Using bootstrap-button.js

Enable buttons via javascript:

$('.nav-tabs').button()

Markup

Data attributes are integral to the button plugin. Check out the example code below for the various markup types.

<!-- Add data-toggle="button" to activate toggling on a single button -->
<button class="btn" data-toggle="button">Single Toggle</button>
<!-- Add data-toggle="buttons-checkbox" for checkbox style toggling on btn-group -->
<div class="btn-group" data-toggle="buttons-checkbox">
  <button class="btn">Left</button>
  <button class="btn">Middle</button>
  <button class="btn">Right</button>
</div>
<!-- Add data-toggle="buttons-radio" for radio style toggling on btn-group -->
<div class="btn-group" data-toggle="buttons-radio">
  <button class="btn">Left</button>
  <button class="btn">Middle</button>
  <button class="btn">Right</button>
</div>

Methods

$().button('toggle')

Toggles push state. Gives the button the appearance that it has been activated.

Heads up! You can enable auto toggling of a button by using the data-toggle attribute.
<button class="btn" data-toggle="button" >…</button>

$().button('loading')

Sets button state to loading - disables button and swaps text to loading text. Loading text should be defined on the button element using the data attribute data-loading-text.

<button class="btn" data-loading-text="loading stuff..." >...</button>
Heads up! Firefox persists the disabled state across page loads. A workaround for this is to use autocomplete="off".

$().button('reset')

Resets button state - swaps text to original text.

$().button(string)

Resets button state - swaps text to any data defined text state.

<button class="btn" data-complete-text="finished!" >...</button>
<script>
  $('.btn').button('complete')
</script>

About

Get base styles and flexible support for collapsible components like accordions and navigation.

Download file

* Requires the Transitions plugin to be included.

Example accordion

Using the collapse plugin, we built a simple accordion style widget:

Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.

Using bootstrap-collapse.js

Enable via javascript:

$(".collapse").collapse()

Options

Name type default description
parent selector false If selector then all collapsible elements under the specified parent will be closed when this collapsible item is shown. (similar to traditional accordion behavior)
toggle boolean true Toggles the collapsible element on invocation

Markup

Just add data-toggle="collapse" and a data-target to element to automatically assign control of a collapsible element. The data-target attribute accepts a css selector to apply the collapse to. Be sure to add the class collapse to the collapsible element. If you'd like it to default open, add the additional class in.

<button class="btn btn-danger" data-toggle="collapse" data-target="#demo">
  simple collapsible
</button>
<div id="demo" class="collapse in"> … </div>
Heads up! To add accordion-like group management to a collapsible control, add the data attribute data-parent="#selector". Refer to the demo to see this in action.

Methods

.collapse(options)

Activates your content as a collapsible element. Accepts an optional options object.

$('#myCollapsible').collapse({
  toggle: false
})

.collapse('toggle')

Toggles a collapsible element to shown or hidden.

.collapse('show')

Shows a collapsible element.

.collapse('hide')

Hides a collapsible element.

Events

Bootstrap's collapse class exposes a few events for hooking into collapse functionality.

Event Description
show This event fires immediately when the show instance method is called.
shown This event is fired when a collapse element has been made visible to the user (will wait for css transitions to complete).
hide This event is fired immediately when the hide method has been called.
hidden This event is fired when a collapse element has been hidden from the user (will wait for css transitions to complete).
$('#myCollapsible').on('hidden', function () {
  // do something…
})


About

A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.

Download file

Example

Start typing in the field below to show the typeahead results.


Using bootstrap-typeahead.js

Call the typeahead via javascript:

$('.typeahead').typeahead()

Options

Name type default description
source array [ ] The data source to query against.
items number 8 The max number of items to display in the dropdown.
matcher function case insensitive The method used to determine if a query matches an item. Accepts a single argument, the item against which to test the query. Access the current query with this.query. Return a boolean true if query is a match.
sorter function exact match,
case sensitive,
case insensitive
Method used to sort autocomplete results. Accepts a single argument items and has the scope of the typeahead instance. Reference the current query with this.query.
highlighter function highlights all default matches Method used to highlight autocomplete results. Accepts a single argument item and has the scope of the typeahead instance. Should return html.

Markup

Add data attributes to register an element with typeahead functionality.

<input type="text" data-provide="typeahead">

Methods

.typeahead(options)

Initializes an input with a typeahead.

客运站和长途汽车站黄石五路公共汽车投诉睢宁汽车出租双柳到合肥的汽车票?秦皇岛到乐亭汽车电话客运站和长途汽车站雅安到自贡市汽车时刻表睢宁汽车出租蕲春到麻城的汽车时间南通高邮汽车时刻表天津到青县的汽车站时刻表客运站和长途汽车站阜阳 金华汽车多长时间天津到青县的汽车站时刻表睢宁汽车出租南通高邮汽车时刻表龙岗长途汽车站去汕尾保定到平定汽车时刻表保定到平定汽车时刻表安阳到滨州汽车票价汉中汽车站到柳林机场保定到平定汽车时刻表桂林到三明汽车时刻表查询湘潭去深圳的汽车秦皇岛到乐亭汽车电话青岛到聊城汽车火车双柳到合肥的汽车票?遵义到贵阳北站汽车时刻表查询宁乡东站到浏阳汽车时刻表阜阳 金华汽车多长时间乾坤天地,层次分明,修士修行即为修法的过程,修士修法,即为修武法、道法、命法之层次。普通少年莫恒从修武法开始,一路披荆斩棘,高歌猛进,闯荡乾坤天地。飘走了~叶轩重生到高考一个月前 为了不让自己这个渣男伤害她的叶轩决定和她保持距离。 趁着这时候慕容雪没喜欢自己 叶轩准备透露点高考题目让她稳上青华 而自己去临安到时候天南地北,确没想到高考后看到她的录取通知书傻了眼(无敌+反派+女帝+败家+签到) 被池瑶女帝背叛,九幽魔主帝九幽不甘殒落。 重生之后却意外觉醒迟到百万年的签到系统。 但这时的他,根本瞧不上签到奖励,无奈只能拿来败家。 叮!恭喜您签到九转仙丹×100! 帝九幽眉头一皱,“这不糖豆吗?大黄快过来。” 叮!恭喜您签到至尊帝器九龙天鼎! “嗯,大小刚刚好,拿来煮火锅。” 叮!恭喜您签到混沌神体! “混沌神体?我记得当年一巴掌拍死的那个准仙帝好像就是混沌神体,大黄快过来” 百万大万来犯! 帝九幽:“吞天噬地魔功,给我吸!” 一日之间,帝九幽连破九重境界。 “修炼?抱歉,那是什么玩意?” 您有没有遇到过,到某个陌生的地方,却有种曾经来过的熟悉感,感觉像梦里梦见过一般? 或是某条街道,或是某栋建筑,或是街边的某个橱窗。那种笃定曾经见过的信念,会吓自己一大跳! 但又实在记不起来,什么时候来过?或是通过什么方式真的见过?这又使得自己很迷茫。 一场惊世浩劫袭击了蔚蓝的蓝星,一场奇异的宇宙辐射风暴袭击了地球,让地球上的生灵发生了不可名状的变化,短短数年地球百分之五十的生灵遭到了毁灭性打击,在灾变的浪潮之中,无论是人还是动物、植物都不得幸免,皆因辐射重组DNA,让生物体发生了巨大的变异,幸存科学家们将灾变的生物称为“灾厄异种”,将这一场浩劫称为“灾厄狂潮”。林逍遥穿越到妖魔神佛并立的异界,开局统死机,被困十里坡刷了十年怪。十年后,系统重启,踏入江湖。竟发现自己能看到别人头顶的血条!且只要让对方掉血,就能获得经验值,抽取宝物!比如能够强行聚灵且强制击飞敌人的【聚灵小手套】、一戳就算钢铁直女也能变娘的【娘娘枪】、套上就能隐身的【丝袜头套】、包治百病的【药王身上搓下的泥球】……魔妖恶怪、能人异士、超凡科技……随着黑日黑月的出现,这些隐藏在暗中的事物纷纷出现。这里,充满了危机与风险;这里,充满了宝藏和奇遇…… 但我祝天佑注定不是这个画风! 奇珍异宝?我的!灵丹妙药?我的!美人江山?也是我的! 横行天下,靠的是风骚的操作,靠的,也是天神的血脉!股神林辰重生,为了看清人心,他放出破产假消息,结果让他心寒,不过却收获真正的友情,亲情和爱情……一次善意的无心之举,一块看似普通的玉石 惨淡少年,命运的转折点 校园反霸,商界称王 扮猪打脸,纵横四方 萝莉御姐,高冷女皇 从此一路开挂,快意恩仇,踏上属于自己的最强之路!
苍宇彼岸 老婆,我真是一个凡人! 叶夜少年平安今 骓驲传 小男人,大天子 鸦之报返 奶爸的背后是神明 我!十年牌佬!君临游戏王! 梦醒始 和校花妹妹同居的日子 前传:血色月镰 灵陆:风屿 醉叙江湖梦 直播练武:这个主播居然玩真的? 游荡VR世纪 也曾江湖 全球映射:开局斩杀地狱战神 永不腐朽世界与终焉之人 苍山妖狼 异瞳:神豪从鉴宝开始 莆田到张家界的汽车票 苏州到长兴的汽车票价 龙岗长途汽车站去汕尾 保定到平定汽车时刻表 莆田到张家界的汽车票 宣城到广德的汽车路线 呼市到土右旗汽车 龙岩到南平汽车路线查询 青岛到聊城汽车火车 阜阳 金华汽车多长时间 桂林到三明汽车时刻表查询 桂林到三明汽车时刻表查询 湘潭去深圳的汽车 南通高邮汽车时刻表 兰州到中卫的汽车时刻表 秦皇岛到乐亭汽车电话 呼市到土右旗汽车 青岛到聊城汽车火车 汉中汽车站到柳林机场 客运站和长途汽车站 苏州到长兴的汽车票价 睢宁汽车出租 黄石五路公共汽车投诉 永清至天津汽车票 龙岩到南平汽车路线查询 湘潭去深圳的汽车 青岛到聊城汽车火车 黄石五路公共汽车投诉 汉中汽车站到柳林机场 青岛到聊城汽车火车 保定到平定汽车时刻表 苏州到长兴的汽车票价 双柳到合肥的汽车票? 客运站和长途汽车站 湘潭去深圳的汽车 秦皇岛到乐亭汽车电话 乐安到宁都汽车 呼市到土右旗汽车 湘潭去深圳的汽车 乐安到宁都汽车 秦皇岛到乐亭汽车电话 沂水至青岛汽车 安阳到滨州汽车票价 延安黄陵汽车站时刻表 永清至天津汽车票 苏州到长兴的汽车票价 桂林到三明汽车时刻表查询 双柳到合肥的汽车票? 宁乡东站到浏阳汽车时刻表 雅安到自贡市汽车时刻表 亚星官网 亚星游戏官网 亚星官网 亚星官网 亚星游戏官网 你是傀儡 狙击战神 手握天地 奇志录, 我为人族抗大旗 欧博游戏官网 皇冠登3出租 百家乐官网 欧博游戏官网 欧博官网 青岛到聊城汽车火车 睢宁汽车出租 宣城到广德的汽车路线 黄石五路公共汽车投诉 湘潭去深圳的汽车 青州至汶上汽车 龙岗长途汽车站去汕尾 雅安到自贡市汽车时刻表 安阳到滨州汽车票价 遵义到贵阳北站汽车时刻表查询 兰州到中卫的汽车时刻表 天津到青县的汽车站时刻表 南通高邮汽车时刻表 兰州到中卫的汽车时刻表 汉中汽车站到柳林机场 苏州到长兴的汽车票价 沂水至青岛汽车 沂水至青岛汽车 秦皇岛到乐亭汽车电话 睢宁汽车出租 雅安到自贡市汽车时刻表 青岛到聊城汽车火车 遵义到贵阳北站汽车时刻表查询 宣城到广德的汽车路线 呼市到土右旗汽车 保定到平定汽车时刻表 南通高邮汽车时刻表 延安黄陵汽车站时刻表 蕲春到麻城的汽车时间 延安黄陵汽车站时刻表