bootstrap一些提示信息插件

K.Takanashi      2022-02-11     154

关键词:

  前端总是会有很多信息提示的时候,最简单的可以用javascript自带的alert,confirm等。这些虽然和js的配合很好,但是很丑。

  bootstrap给我们提供了一些不同的方案比如modal的模态对话框,popover,tooltip等比较好看的提示框。这些虽然好看一些但是需要和页面的DOM元素有很强的耦合性,而且编写起来比较麻烦。

  好在一些第三方的插件可以兼顾简洁和美观,下面简单说几个。

  ■  toastr 轻型信息提示框

  【https://www.cnblogs.com/h--d/p/5732743.html】

  效果大概是这个样子:

  弹出的信息有标题/内容,可以添加关闭按钮,同时可以在指定的几个位置生成,并且整个消息是半透明的,过一段时间后会自动关闭,伴随淡入淡出效果。总体而言十分好看。另外toastr的一大特点就是与alert等不同,它是不阻塞页面的。

  首先下载组件,官方网站在【http://codeseven.github.io/toastr/】,注意不用下载右侧的zip或者tar包,而是找到左边对应的min.js和min.css的连接下载即可。

  然后还是老方法进行引入,完成之后在我们自己的js中只要简单的一句就可以构造出相应的提示:

// 提示消息
toastr.info('content','title');

// 成功
toastr.success('content','title');

// 警告
toastr.warning('content','title');

// 错误
toastr.error('content','title');

// 优雅关闭所有消息
toastr.clear();

// 瞬间移除所有消息
toastr.remove();

   除了简单的调用之外,还可以进行参数(初始化参数)的设置。可以设置的初始化参数主要有:

  positionClass  分成toast-(bottom|top)-(left|right|center)的组合,指出了消息可以出现的几个位置

  closeButton  可选true或false,决定在每个消息右上角是否显示关闭按钮

  showDuration,hideDuration  单位毫秒,设置淡入/淡出动画持续时间,默认值为300和1000

  timeout  单位毫秒,显示持续时间

  showMethod,hideMethod  默认是fadeIn和fadeOut,用于设置消息出现和消失的动画的

  progressBar  设置true或false,在消息窗口下面添加一个进度条,进度条走完时消息自动消失

  

  设置的方法如下:

  toastr.options = {option: value, ...}

  也可以单项单项进行设置如:

  toastr.options.positionClass = 'xxxxx';

  除此之外,对于每次调用也可以添加第三个参数(一个object)用来设置该消息的个性化初始化参数。

  需要注意的是设置并不像我们想象得那么灵活,这主要和渲染出来的消息的结构有关。渲染消息时会首先得到一个div,这个div会有一些初始化参数的特征,比如positionClass就是这个div的一个class。然后把当前渲染出的消息加入到这个div中。当这个div中还有消息没消失(手动关闭或者超时自动消失),那么div始终存在,新要被渲染出来的消息,不论个性的初始化参数或者新设置的初始化参数如何,都会被加入到这个div中,也就是说沿用了创建这个div的那个消息的初始化参数。当这个div中所有消息都消失了,那么再创建消息时就会创建一个新div,自然就会加载那个消息的初始化参数了。

 

  toastr就是这样,应用起来很方便的一个小插件。

 

  ■  sweetalert  警告框的综合解决方案

  alert确实不好看,但是用modal等bootstrap自带工具来实现alert的功能又比较烦(比如在页面里要事先埋上一个复杂的div),sweetalert这个组件则能很方便的像alert那样,让我们在js中简单调用一行代码就实现弹出提示框了。

  引入sweetalert。可以将【https://cdn.bootcss.com/sweetalert/1.1.3/sweetalert.min.js】和【https://cdn.bootcss.com/sweetalert/1.1.3/sweetalert.min.css】内容复制到本地形成本地的静态文件,也可以通过CDN的方式直接引用。

  完成后在js中就可以调用一些方法来弹出提示框了,比如单纯的信息展示:

  swal('Hello, World');  简单弹出一个提示框,自带一个OK按钮用于关闭提示框

  swal('Title','Content');  带有标题的简单提示框,标题只是一个大一点字号加粗过后放在内容上方,没有<hr>之类的东西

  swal('Succ_Title','Succ_Content','success');  swal的另一个很不错的自带功能就是配合bootstrap提供了从info到error各个级别的提示框并且自带了动态的图标,很好看。比如这个是成功的提示框,把第三个参数也可以换成info, warning ,error等

  内容,标题和类别这三个参数可以这样匿名按顺序写,如果要指明是哪个参数可以像其他很多组件那样传递一个object作为初始化参数来写,比如:

  swal({title: 'Title', text: 'Content', type: 'success'})  *需注意,似乎不能不设置title只设置text。当一定不要有标题title的时候可以设置为空值。

 

  ●  确认提示框

  在实际开发过程中,经常会遇到跳出一个提示框请求确认,比如删除一个什么东西的时候。之前很黑洞的一点就是如果用confirm虽然编程方便但是很丑,如果用modal或者popover,那么如何把第一次点击时选取的信息(比如要删除对象的ID,肯定是在第一次点击时就决定了)传递给第二次确认点击就是一个问题。而swal已经为我们包装出了这样一个功能:

  

$('.del-row').click(function(event){
  swal({
    title: '警告',
    text: '确认删除ID为' + $(this).find('.id-td').text() + '的行吗?';
    type: 'warning',
    showCancelButton: true,
    confirmButtonColor: '#xxxxxx',
    confirmButtonText: '确认删除',
    closeOnConfirm: false,
    showLoaderOnConfirm: true
},
function(){ // 发出ajax请求要求删除 $.ajax({ url: 'xxx', type: 'delete', dataType: 'json', data: {xxx}, success: function(data){ swal({ text: '删除成功', type: 'success' }); }, error: function(xml,err,excep){ swal({ text: '发生错误' + xml.status, type: 'error' }); } }) }) })

 

  可以看到,在初始化参数的object后面我们添加了第二个参数是一个函数对象。当点击提示框的confirmButton的时候,或者timer时间到提示框自动关闭的时候,会执行这个函数。

  另外还有一个小点,就是swal之间的覆盖。这里的swal设置了closeOnConfirm为false,以为着点击confirmButton之后这个提示框不会消失,而接下来ajax请求完了之后又新swal出一个提示框,此时可以看到新的提示框会覆盖掉原来的提示框,点击新提示框中的OK,就会把提示框关掉,没有提示框了。同理,如果在一个连续的语境中多次调用swal,最终页面上显示出来的swal以最后一次调用时设定的样子为准。

  上面showCancelButton是true,这意味着我们可以点击取消按钮进行简单的提示框关闭。如果在取消的时候也想执行一些代码的话可以这么干,把第二个参数的函数改造成带有一个参数:

swal({xxxx},funcion(isConfirm){
  if (isConfirm){
    // 点击了确认之后干的事
  }
  else{
    // 点击取消之后干的事
  }
})

  showLoaderOnConfirm则是一个对ajax适配很好的参数,当设置为true后,点击确认之后取消和确认按钮会被禁用以防止用户做出进一步误操作,然后确认按钮会展示转菊花界面。

 

  ●  其他一些样式和参数说明

  imageUrl  指出一个url指向一张图片,可以在提示框中展示一个图片。需要在注意的是,如果指定type的话,type带有的那个图标也是会被展示出来的,在imageUrl指向图片的上方。

  html  当设置为true时,以html的方式解析text中的内容

  timer  设置一个自动关闭时间,单位是毫秒

  animation  默认值是pop,可以设置为slide-from-top和slide-from-bottom,另外也可以设置为false以禁用动画

  更多的参数可以参考文档【http://mishengqiang.com/sweetalert/】

 

  ●  输入提示框

  类似于prompt,看下这个实例就知道了:

swal({
  title: '请输入',
  text: '输入内容:',
  type: 'input',  //type改为input
  inputType: 'text'   // password等也可
  showCancelButton: true,
  closeOnConfirm: false,
  animation: 'slide-from-top',
  inputPlaceholder: '输入的内容写在这里...',
},function(inputValue){
  if (inputValue == false){ return false; }
  if (inputValue === ''){ swal('你需要输入一些内容'); return false;}
  swal({
title: '' //不能没有标题,可以设置空值 text:
'收到输入内容:' + inputValue, type: 'success' }); });

 

  

     ●  方法

  swal还提供了几个方法,比如setDefaults,当你有很多swal要设置同一个属性时可以用这个方法比如

  swal.setDefaults({confirmButtonColor: '#xxxxxx'})  这样没调用一次swal得到的弹出框的确认按钮就都会是指定颜色了

  swal.close()  手动关闭弹窗

  swal.showInputError(',,,')  type为input时,当得到的值不符合预期可以给出错误信息

  swal.enableButton/disableButton()  手动启用、禁用按钮

使用bootstrap中的tooltip插件时最上方提示会被遮挡问题(代码片段)

Bootstrap里的popover被挡住的解决方案 在Bootstarp 中我们可以使用popover 插件做一些内容的展示,代码如下:<adata-toggle="popover"data-placement="top"data-trigger="hover"data-content="详情详情详情"><span>显示详情</span 查看详情

bootstrap之javascript插件---弹出框(模态框)modal

简介:  弹出框是一个经常使用的组件,一般用于弹出提示信息,确认信息,表单内容。完整结构分析(可以没有头部和底部):代码示例:<!--弹出框的头部--><divclass="modalfade"><divclass="modal-dialog"><divclass="modal-c... 查看详情

bootstrap模态框(modal)插件

...引用该插件的功能,那么您需要引用modal.js。或者,正如Bootstrap插件概览一章中所提到,您可以引用bootstrap.js或压缩版的bootstrap.min.js。用法您可以切换模态框(Modal)插件的隐藏内容:通过da 查看详情

bootstrap--插件:提示工具弹出框警告框消息(代码片段)

Bootstrap--插件:提示工具、弹出框、警告框消息1.提示工具(Tooltip)插件:根据需求生成内容和标记。使用提示工具:<!DOCTYPEhtml><html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>MyTestbootstrap<... 查看详情

对bootstrap模态框的小尝试

bootstrap中有一个“模态框”插件,我理解的意思就是一个具有全局遮罩的弹窗提示,官方解释是:模态框(Modal)是覆盖在父窗体上的子窗体。通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互... 查看详情

jquery插件-表单验证插件-提示信息中文化与定制提示信息

接上一篇2)messages提示:修改默认的提示信息最简单的方法是引入message_zh.js文件即可!如果需要在validate()方法内提示则可以使用本选项类型:Object说明:自定义的提示信息,key:value形式,key是要验证的元素,valule可以是字符... 查看详情

bootstrap插件

Bootstrap插件概览站点引用Bootstrap插件的方式有两种:单独引用:使用Bootstrap的个别的*.js文件。一些插件和CSS组件依赖于其他插件。如果您单独引用插件,请先确保弄清这些插件之间的依赖关系。编译(同时)引用:使用bootstrap.j... 查看详情

bootstrap插件使用总结

BootStrap插件使用总结记录下Bootstrap一些常用的插件使用方法,千万要注意插件的版本!1、BootstrapSwitch开关控件。相比checkbox,switch就要好看的多了。在bootstrap-switch下载即可,添加css文件,按照amd规范引入.js文... 查看详情

activex提示信息插件(代码片段)

 当我们开发web后台管理系统时经常会遇到提示用户信息的功能,我们都知道由于浏览器的沙箱隔离问题我们无法直接操作系统本地资源,我们可以利用ActiveXIE浏览器插件来实现这个功能。这里的源码主要做了右下角提示窗体... 查看详情

如何使 Twitter Bootstrap 工具提示有多行?

】如何使TwitterBootstrap工具提示有多行?【英文标题】:HowtomakeTwitterBootstraptooltipshavemultiplelines?【发布时间】:2012-10-3114:03:06【问题描述】:我目前正在使用以下函数来创建将使用Bootstrap的工具提示插件显示的文本。为什么多行... 查看详情

bootstrap插件使用总结

BootStrap插件使用总结记录下Bootstrap一些常用的插件使用方法,千万要注意插件的版本!1、BootstrapSwitch开关控件。相比checkbox,switch就要好看的多了。在bootstrap-switch下载即可,添加css文件,按照amd规范引入.js文... 查看详情

bootstrap表格插件——bootstrap-table

...cong/p/7284420.html一、概述  1.是什么    是一个基于bootstrap的灌数据式的表格插件  2.能干什么    可以实现查询、分页、排序、复选框、设置显示列、Cardview视图、主从表显示、合并列、国际化处理等处理功能,以... 查看详情

给节点添加提示信息

给节点添加提示信息当鼠标移动到某个地方时,旁边就会出现一个提示信息用来解释该功能的作用。比如下方这样:视频演示:ManyWidgets如何使用Tooltip信息提示控件该功能已收录在ManyWidgets插件中,使用CocosCreator3.... 查看详情

Twitter Bootstrap 工具提示:鼠标按下时闪烁

】TwitterBootstrap工具提示:鼠标按下时闪烁【英文标题】:TwitterBootstrapTooltip:flickersonmousedown【发布时间】:2019-04-0917:01:57【问题描述】:我正在处理引导工具提示的一些奇怪行为。ASP.Net和Bootstrap的版本:ASP.Net4.5Boostrap3.0.0场景:... 查看详情

如何根据按钮样式更改 Bootstrap 5 工具提示颜色?

】如何根据按钮样式更改Bootstrap5工具提示颜色?【英文标题】:HowcanIchangeaBootstrap5tooltipcolorbasedonbuttonstyle?【发布时间】:2022-01-1721:05:29【问题描述】:我需要一些帮助,我想根据按钮主颜色更改工具提示background-color。例如:如... 查看详情

vscode插件errorlens关闭一些不想要的提示

参考技术A一首先需要安装插件errorlens二打开文件管理器C:\Users\你的用户名.vscode\extensions\philhindle.errorlens-1.1.3\out在文件目录下找到extension.js文件三将你不需要的提示直接设置为false,我比较烦hint提示,所以我直接将h... 查看详情

在 javascript 或 bootstrap 中创建可点击的工具提示

】在javascript或bootstrap中创建可点击的工具提示【英文标题】:Creatingaclickabletooltipinjavascriptorbootstrap【发布时间】:2016-01-0503:52:08【问题描述】:制作如下图所示的可点击工具提示的最佳方法是什么:我应该使用引导程序还是其... 查看详情

bootstrap模态框modal插件在一个含有多个页面

...引用该插件的功能,那么您需要引用modal.js。或者,正如Bootstrap插件概览一章中所提到,您可以引用bootstrap.js或压缩版的bootstrap.min.js。  用法  您可以切换模态框(Modal)插件的隐藏内容:  通过data属性:在控制器元素(... 查看详情