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://u4.pdupdcd.cn/" class="btn" data-dismiss="modal">Close</a>
    <a href="http://wD.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://cbmxz.8kjzk.rwnjo.cpbty.hpyrn.www.ejlji.fi.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://cbmxz.8kjzk.rwnjo.cpbty.hpyrn.www.ejlji.fi.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.

小说天榜 黑榜因爱的小说小说天榜 黑榜最终救赎小说死神同人无心插柳 蚊玉 小说醉欢 唐倾 小说暗夜罗刹 你的笑太过敷衍 小说好看的不虐校园小说 流氓校草虐心的古代言情小说要文笔很好类似再非我倾城王爷要休妃的小说穿越时空之梦缘恋 穿越小说吧纵横魔兽世界 梁王千岁 小说小说天榜 黑榜老师的真面目 小说西游的小说好看的不虐校园小说 流氓校草穿越时空之梦缘恋 穿越小说吧星野小说九怨小说九怨小说未来大科学家 玄罗 小说当凤凰男遇上孔雀男 菊文字 小说九怨小说虐心的古代言情小说要文笔很好类似再非我倾城王爷要休妃的小说一个中国女孩在一个夜晚被带回到日本的最大龙头是什么小说死神同人无心插柳 蚊玉 小说丑女也要爱 八字 小说最终救赎小说一个中国女孩在一个夜晚被带回到日本的最大龙头是什么小说未来大科学家 玄罗 小说老师的真面目 小说叶凡上一世的仙王老婆重生归来,找到叶凡带他走上修仙路。 斩魔帝,斗五宗,破天穹,打开仙路,直杀天穹,带领全民修仙。 我的时代谁敢称无敌!上来一战! 以双修正道!一场类似预谋已久的灾难突然悄无声息的降临 迅速扩散至蓝星的每个角落 引发了人类生死存亡的灭绝时 本在是星空世界武道至尊的叶陵在突破成神的最后关头 被一股神秘力量打断强行控制抹除 随便携带着一丝带着不甘的灵魂力跨越无数时空星海。 最后在魂力消耗殆尽之前 便将仅剩的灵魂力注入一名七八岁的少年体内。 无聊写着玩不时更新。一介神偷无意落入百年阴谋大局,在阴谋中成长,站在世界之巅。当红歌手卫源一觉醒来,发现自己重生在平行世界的一个舔狗身上。 这一世,他有三个目标。 第一:赚钱!赡养母亲! 第二:成名!红遍全球娱乐圈,响彻大江两岸! 第三:痛撕天下绿茶! 顺便,把国民女神俞妙菡娶回家! “卫源,我们爱你!我要和你生猴子!” “卫源,请问当红天后柳冰冰对你暗恋已久,你打算怎么应对?” “卫宝,国民女神俞妙菡和新晋四小花旦之首的杨壹琳你选谁?” 聚光灯下,卫源侃侃而谈:“当然是选俞妙菡了!其他人都是我妹妹!”财是什么?一千个人就会有一千个答案; 财是就是金钱,是贵重金属; 财是就是资源,一切发展的资源; 财,人生经历,认识,胆识,才华甚至是血脉; 为了财,我在亮剑中卖军火;为了特工技术,我在五号特工组中卖装备;为了钱,我在开日奇侠装提供保镖服务;为了财,我在平行世界帮助崇祯一统天下;为了,能量,我在建国大业帮助光头佬在火奴鲁鲁建立王国。 为财,我可以做一切。一个小白写手,一个逗比主角鬼事悬疑,原于阴集,大道降服,魔鬼怨积……为了他活着他母亲从肚子里将他挖出,那是的,他还是一个只有巴掌,他没有掌权的婴儿。 半脚踏入修行,开局却遇到圣人,圣人有些不靠谱,但却又极其的心狠手辣,带他看净世间纷争。 百族当中,他去过很多地方,但这个是能离开之后他就走向了一条极其黑暗的道路。 灵山之巅,黄昏水河尽头,修罗神殿,魔界皇宫,神界八方塔,上古遗迹,洪荒地穴,八王古墓………… 也见过书本上人口中的传奇人物。 剑尊叶问天,十三星十三浩瀚天骄,西方九王之主项天羽,下六界之皇秦始皇,和魔界至尊神界之主,佛家之主。 从默默无名的兵到手握重兵的大将军,大元帅,随后又到一方诸侯王………… 修炼过不少秘术,也有不少隐藏法宝,一路修行到达世界之尊,超脱万物在百界虚空之上。武王府的低等下人,代号九五二七的方泽,立誓要抓住仙门招生的机会,脱离奴籍……当你们正在玩着手机打发时间的时候, 我们正在战斗; 当你们在亲吻恋人的时候, 我们正捍卫你们的一切。 你们生活在一个不可思议的,十分危险的世界。 而我们的工作,就是将其变得可思议,不危险。 我们沉浸于黑暗,但我们守护着光明, 我们不为人所知,但我们至纯至善。 我们以必善之信念,行必要之恶。 虽千万人,吾九死而不悔! ——元宇宙管理局赴死者向你致敬!
诡秘怪异的世界 青莲绝迹 变成龙族是什么体验 星际宝宝 傻了吧!你的房客都是美女 修真破天记 建座地府当后宫 墨守信传 三国之志在千里 教师的黑科技系统 开局和女神流落荒岛 群星挑战之星神之路 厨子不风流 带着仓库去三国 举目苍茫 异世界保命 梅花玉 川枭 从我是特种兵开始崛起 九霄神殿 龙血战神 乡村酒吧 小说 异界的现代女王 eagle 小说 星野小说 九怨小说 龙血战神 乡村酒吧 小说 秦时明月之死生契阔 林雪灵 小说 神化小说 布罗利重生异界 空虚的人 小说 丑女也要爱 八字 小说 老师的真面目 小说 虐心的古代言情小说要文笔很好类似再非我倾城王爷要休妃的小说 魁星踢斗 小说 v字仇杀队 小说 异界的现代女王 eagle 小说 醉欢 唐倾 小说 死神同人无心插柳 蚊玉 小说 神化小说 丑女也要爱 八字 小说 当凤凰男遇上孔雀男 菊文字 小说 小说天榜 黑榜 异界的现代女王 eagle 小说 好看的不虐校园小说 流氓校草 因爱的小说 西游的小说 穿越时空之梦缘恋 穿越小说吧 v字仇杀队 小说 丑女也要爱 八字 小说 因爱的小说 当凤凰男遇上孔雀男 菊文字 小说 丑女也要爱 八字 小说 死神同人无心插柳 蚊玉 小说 异界的现代女王 eagle 小说 我的重生传奇 有声小说 醉欢 唐倾 小说 一个中国女孩在一个夜晚被带回到日本的最大龙头是什么小说 死神同人无心插柳 蚊玉 小说 我的重生传奇 有声小说 星野小说 v字仇杀队 小说 好看的不虐校园小说 流氓校草 最终救赎小说 王子们的低调公主 让羊驼飞 小说 清烟缈 云思遥 小说 魁星踢斗 小说 西游的小说 异界的现代女王 eagle 小说 魁星踢斗 小说 最终救赎小说 v字仇杀队 小说 暗夜罗刹 你的笑太过敷衍 小说 亚星游戏官网 亚星官网 亚星官网 亚星游戏官网 亚星官网 闵荒 都市从欢乐颂开始签到 覆灭诸神 北域武林 我是李承乾 澳门葡京官网 AG真人 快连下载 澳门葡京官网 欧博游戏官网 v字仇杀队 小说 龙血战神 乡村酒吧 小说 丑女也要爱 八字 小说 秦皇的小说 小说天榜 黑榜 九怨小说 星野小说 因爱的小说 王子们的低调公主 让羊驼飞 小说 魁星踢斗 小说 异界的现代女王 eagle 小说 丑女也要爱 八字 小说 暗夜罗刹 你的笑太过敷衍 小说 小说天榜 黑榜 小说天榜 黑榜 魁星踢斗 小说 虐心的古代言情小说要文笔很好类似再非我倾城王爷要休妃的小说 荷?茶 语文小说阅读 龙血战神 乡村酒吧 小说 秦皇的小说 醉欢 唐倾 小说 v字仇杀队 小说 星野小说 因爱的小说 我的重生传奇 有声小说 魁星踢斗 小说 醉欢 唐倾 小说 暗夜罗刹 你的笑太过敷衍 小说 荷?茶 语文小说阅读 醉欢 唐倾 小说