Bootstrap JavaScript插件:按钮 (button.js)

简介: Bootstrap 框架

作者:WangMin
格言:努力做好自己喜欢的每一件事

banner.png

状态提示

通过自定义属性和简单的JavaScript,就可以让按钮具有状态提示功能。比如,没有点击按钮时,正常显示;点击按钮时,触发相应的状态,并显示该状态对应的文本信息。

1. 加载状态

要让按钮显示加载状态,首先要给按钮添加 data-loading-text 属性,它的值为加载状态要显示的文本信息,如 "Loading...":

<button type="button" id="myButton" data-loading-text="Loading..." class="btn btn-primary" autocomplete="off">
  Loading state
</button>

1.png

还要为按钮定义单击事件,并在点击时调用 button('loading') 方法,来触发加载状态。代码如下:

$('.btn').click(function(){
   
   
    $(this).button('loading');
})

当点击按钮时,会触发加载状态,按钮的文本会变成 data-loading-text 属性的值。加载过程中,按钮被自动禁用,它会变灰,不再响应单击。如下:

2.png

2. 自定义状态

按钮自定义任意状态,只需为按钮添加 data-xxx-text 属性,并在点击按钮时调用 button('xxx') 方法即可。例如,为按钮自定义 complete 状态,首先为按钮添加 data-complete-text 属性,属性的值为 complete 状态要显示的文本信息:

<button type="button" id="myButton" data-complete-text="complete..." class="btn btn-primary" autocomplete="off">
  complete
</button>

3.png

再为按钮定义单击事件,并在点击时调用 button('complete') 方法:

$('.btn').click(function(){
   
   
    $(this).button('complete');
})

4.png

3. 重置状态
如果想让按钮的文本回到最初的样子,可以调用 button('reset') 方法来重置按钮的状态,让它显示初始的文本。

$('.btn').button('reset')

如果没有为按钮定义 data-complete-text 属性,重置状态下会显示初始的文本,如果定义了 data-complete-text 属性,则显示 data-complete-text 属性指定的文本。


按钮状态切换

1. 通过data属性切换按钮状态

将单个按钮的 data-toggle 属性设置 button,或通过简单的JavaScript,就可以激活按钮的行为状态,让它在未激活和激活状态之间来回切换。

<button class="btn btn-primary" data-toggle="button" autocomplete="off">Single Toggle</button>

当单击时,会激活按钮,激活状态以深色背景显示。

5.png

再次单击时,按钮又回到默认状态,默认状态以浅色背景显示。

6.png

2. 通过JavaScript切换按钮状态

<button class="btn btn-primary" >Single Toggle</button>
$('.btn').click(function() {
   
   
    $(this).button('toggle');
});

注意:在实现状态切换功能时,不限制一定要用 button 元素,只要应用了 .btn 类,它可以是任何元素。


按钮组

将按钮组放在特定的容器中,不必编写JavaScript代码,就可以让按钮组具有HTML的复选框(checkbox)或单选框(radio)的效果。

1. 复选按钮组

复选按钮组是类似于复选框的一组按钮,用户可以选择按钮组中的多个按钮。要添加这个功能,只需给 .btn-group 的按钮组容器添加 data-toggle="buttons " 属性,并将一组包含复选框的label元素放入容器中:

<div class="btn-group" data-toggle="buttons">
     <label class="btn btn-primary active">
        <input type="checkbox" autocomplete="off" checked> Checkbox 1 (pre-checked)
     </label>
     <label class="btn btn-primary">
        <input type="checkbox" autocomplete="off"> Checkbox 2
     </label>
     <label class="btn btn-primary">
        <input type="checkbox" autocomplete="off"> Checkbox 3
     </label>
</div>

复选按钮组跟HTML中的复选框使用方法相同,单击按钮组中的某个按钮,按钮将被选中,再次单击,将取消选中。被选中的按钮以深色背景显示,取消选中的按钮以默认的浅色背景显示。

7.png

2. 单选按钮组

单选按钮组是类似于单选框的一组按钮,用户每次只能选择按钮组中的一个按钮。要添加这个功能,只需给 .btn-group 的按钮组容器添加 data-toggle="buttons-radio" 属性,并将一组包含单选按钮的label元素放入容器中:

<div class="btn-group" data-toggle="buttons">
    <label class="btn btn-primary active">
        <input type="radio" name="options" id="option1" autocomplete="off" checked> Radio 1 (preselected)
    </label>
    <label class="btn btn-primary">
        <input type="radio" name="options" id="option2" autocomplete="off"> Radio 2
    </label>
    <label class="btn btn-primary">
        <input type="radio" name="options" id="option3" autocomplete="off"> Radio 3
    </label>
</div>

单选按钮组跟HTML中的单选框使用方法相同,单击按钮组中的某个按钮,该按钮将被选中,其它按钮将取消选中。被选中的按钮以深色背景显示,取消选中的按钮以默认的浅色背景显示。

8.png


就先分享到这里!! :smile: 后续继续更新!!

目录
相关文章
|
6天前
|
Web App开发 JavaScript 前端开发
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
|
2月前
|
前端开发 JavaScript 开发者
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例
本文提供了一个前端JS按钮点击事件、弹出式窗口和遮罩层的实战示例,包括HTML、CSS和JavaScript的具体实现代码,以及功能解析,演示了如何实现按钮点击后触发弹窗显示和遮罩层,并在2秒后自动关闭或点击遮罩层关闭弹窗的效果。
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例
|
2月前
|
JavaScript 前端开发
使用js生成表格标题、表格内容并且每行附带删除按钮然后插入到页面中
使用js生成表格标题、表格内容并且每行附带删除按钮然后插入到页面中
31 2
|
2月前
|
Java 数据库连接 数据库
从零到精通:揭秘 Hibernate 构建持久层服务的全过程,你离数据持久化大师还有多远?
【8月更文挑战第31天】本文详细介绍了如何从零开始使用 Hibernate 构建一个持久层服务。首先,通过在 Maven 项目中添加必要的依赖,确保项目具备使用 Hibernate 的条件。接着,配置 `hibernate.cfg.xml` 文件以连接 MySQL 数据库,并设置了基本属性。然后定义了一个简单的 `User` 实体类及其映射关系。此外,还创建了一个 `HibernateUtil` 工具类来管理 `SessionFactory`。
28 0
|
2月前
|
缓存 JavaScript 前端开发
Vue.js与JavaScript性能优化终极揭秘:掌握这些技巧,让你的Web应用飞一般地流畅!
【8月更文挑战第30天】随着前端应用复杂度的增加,性能优化变得至关重要。本文深入探讨了如何利用Vue.js和JavaScript实现高效的应用性能。主要内容包括:优化组件设计以减少不必要的渲染,采用异步组件与懒加载技术加速应用启动,利用虚拟滚动和分页处理大数据集,改进Vuex使用方式以及合理运用浏览器缓存等策略。通过具体示例和最佳实践,帮助开发者充分挖掘Vue.js潜力,打造高性能的前端应用。
48 0
|
2月前
|
存储 JavaScript 前端开发
【Vue.js的神秘力量】一键解锁:如何让Bootstrap和Vuex成为你的开发超能力?
【8月更文挑战第30天】Vue.js是一个轻量且灵活的JavaScript框架,易于上手且功能强大。为提高开发效率和应用交互性,常需集成第三方库。本文介绍如何在Vue.js项目中集成Bootstrap和Vuex,及其它常见第三方库。Bootstrap提供响应式设计和预制组件,通过安装插件和引入CSS/JS即可集成;Vuex作为官方状态管理库,通过安装并创建store来管理组件状态。此外,Vue.js还可轻松集成Axios和Vue Router等库,提升HTTP请求和页面路由功能。合理选择和集成第三方库能显著提升开发效率,但需保持代码可维护性和可读性。
19 0
|
2月前
|
前端开发 JavaScript 开发者
Vue.js 与第三方库的神秘融合:Bootstrap、Vuex 等究竟带来何种惊喜?
【8月更文挑战第30天】Vue.js 作为一款流行的前端框架,凭借其强大的功能和易用性深受开发者喜爱。它不仅能独立运作,还能无缝集成各种第三方库,显著提升开发效率。例如,通过 `vue-bootstrap`,我们可以轻松引入 Bootstrap 的响应式组件,快速打造美观的用户界面;借助 Vuex,Vue 提供的状态管理方案,能有效解决复杂应用中的状态共享难题。此外,诸如 `axios` 和 `moment` 等库也能进一步增强 Vue 的功能,使其成为构建高性能前端应用的理想选择。
29 0
|
2月前
|
设计模式 JavaScript 前端开发
Vue.js 与第三方库的奇妙融合,Bootstrap 和 Vuex 究竟能带来何种意想不到的变革?
【8月更文挑战第30天】在现代Web开发中,结合使用JavaScript设计模式与框架如Vue.js能显著提升代码质量和项目的可维护性。本文探讨了常见JavaScript设计模式及其在Vue.js中的应用。通过具体示例介绍了工厂模式、单例模式和策略模式的应用场景及其实现方法。例如,工厂模式通过`NavFactory`根据用户角色动态创建不同的导航栏组件;单例模式则通过全局事件总线`eventBus`实现跨组件通信;策略模式用于处理不同的表单验证规则。这些设计模式的应用不仅提高了代码的复用性和可维护性,还使得Vue应用更加模块化和灵活。
13 0
|
2月前
|
设计模式 JavaScript 前端开发
从工厂到单例再到策略:Vue.js高效应用JavaScript设计模式
【8月更文挑战第30天】在现代Web开发中,结合使用JavaScript设计模式与框架如Vue.js能显著提升代码质量和项目的可维护性。本文探讨了常见JavaScript设计模式及其在Vue.js中的应用。通过具体示例介绍了工厂模式、单例模式和策略模式的应用场景及其实现方法。例如,工厂模式通过`NavFactory`根据用户角色动态创建不同的导航栏组件;单例模式则通过全局事件总线`eventBus`实现跨组件通信;策略模式用于处理不同的表单验证规则。这些设计模式的应用不仅提高了代码的复用性和灵活性,还增强了Vue应用的整体质量。
21 0
|
2月前
|
JavaScript 前端开发 API
揭秘Vue.js与JavaScript融合的神秘力量:如何一键解锁高效响应式Web应用的终极秘籍?
【8月更文挑战第30天】随着前端技术的发展,Vue.js凭借其轻量级、易上手和高度响应式的特性,在前端开发领域迅速崛起,成为构建现代Web应用的首选框架之一。Vue.js与JavaScript深度融合,使开发者能高效灵活地打造美观且功能强大的应用。本文将作为实战指南,带您深入了解Vue.js与JavaScript结合的奥秘,揭示构建高效响应式Web应用的秘籍。从Vue.js的基础开始,逐步介绍如何利用其数据驱动视图的特点,结合JavaScript的高级特性,如定时器、Promise、async/await等,提升应用的交互性和用户体验。
21 0
下一篇
无影云桌面