使用BootStrap实现悬浮窗口的效果


Posted in Javascript onDecember 13, 2016

经常玩社群网站的想必对这样一种场景很常见,如图:

使用BootStrap实现悬浮窗口的效果

鼠标停在某个超链接上,然后会出现一个悬浮框,内容时该账号的一些信息。

刚好最近在做一些前端的东东,涉及到类似的需求。——鼠标悬停,出现一个悬浮框,悬浮框描述一些具体信息。之前其实参考了网上的一篇文章,但觉得有点儿过于复杂。。而发现:神奇的 bootstrap就自带了这个功能。所以就用bootstrap的popover插件做了,效果还不错。虽然挺简单的,但还是纪念一下……

定义一个超链接,同时需注意相应页面的必要的css和js必须引入:

Html代码

<link href="css/bootstrap.css" rel="stylesheet" /> 
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script> 
<script type="text/javascript" src="js/bootstrap.min.js"></script> 
<a href="#" class="bind_hover_card" data-toggle="popover" data-placement="bottom" data-trigger="hover"><img class="commentAvatarImage" src="img/social_dribbble.png" /></a>

data-toggle="popover"属性则为该超链接绑定弹窗效果,data-placement="bottom"指定弹窗相对于超链接显示的位置,data-trigger="hover"则是关键,指定悬浮时触发弹窗显示。。

关于bootstrap之popover插件的一些常见属性如下:

选项名称 类型/默认值 Data 属性名称 描述

animation boolean默认值:true data-animation 向弹出框应用 CSS 褪色过渡效果。
html boolean默认值:false data-html 向弹出框插入 HTML。如果为 false,jQuery 的 text 方法将被用于向 dom 插入内容。如果您担心 XSS 攻击,请使用 text。
placement string|function默认值:top data-placement 规定如何定位弹出框(即 top|bottom|left|right|auto)。 当指定为 auto 时,会动态调整弹出框。例如,如果 placement 是 "auto left",弹出框将会尽可能显示在左边,在情况不允许的情况下它才会显示在右边。
selector string默认值:false data-selector 如果提供了一个选择器,弹出框对象将被委派到指定的目标。
title string | function默认值:'' data-title 如果未指定 title 属性,则 title 选项是默认的 title 值。
trigger string默认值:'hover focus' data-trigger 定义如何触发弹出框: click| hover | focus | manual。您可以传递多个触发器,每个触发器之间用空格分隔。
delay number | object默认值:0 data-delay 延迟显示和隐藏弹出框的毫秒数 - 对 manual 手动触发类型不适用。如果提供的是一个数字,那么延迟将会应用于显示和隐藏。如果提供的是对象,结构如下所示: delay:{ show:500, hide:100}
container string | false默认值:false data-container 向指定元素追加弹出框。 实例: container: 'body'

常见方法:

方法描述实例Options: .popover(options)向元素集合附加弹出框句柄。

$().popover(options)
Toggle: .popover('toggle')切换显示/隐藏元素的弹出框。
$('#element').popover('toggle')
Show: .popover('show')显示元素的弹出框。
$('#element').popover('show')
Hide: .popover('hide')隐藏元素的弹出框。
$('#element').popover('hide')
Destroy: .popover('destroy')隐藏并销毁元素的弹出框。
$('#element').popover('destroy')

好了,下面重点是Js部分。

$(function() { 
  $("[data-toggle='popover']").popover({ 
    html : true,  
    title: title(),  
    delay:{show:500, hide:1000}, 
    content: function() { 
     return content();  
    }  
  }); 
});

 而我们来模拟下动态加载悬浮框的标题和内容:

//模拟动态加载标题(真实情况可能会跟后台进行ajax交互) 
function title() { 
  return '田喜碧Hebe(节制的人生)'; 
} 
 
//模拟动态加载内容(真实情况可能会跟后台进行ajax交互) 
function content() { 
  var data = $("<form><ul><li><span aria-hidden='true' class='icon_globe'></span> <font>粉丝数:</font>7389223</li>" + 
       "<li><span aria-hidden='true' class='icon_piechart'></span> <font>关注:</font>265</li>" + 
       "<li><span aria-hidden='true' class='icon_search_alt'></span> <font>微博:</font>645</li>" + 
       "<li><span aria-hidden='true' class='icon_pens_alt'></span> <font>所在地:</font>台湾</li>" + 
       "<input id='btn' type='button' value='关注' onclick='test()'/></form>"); 
   
  return data; 
} 
//模拟悬浮框里面的按钮点击操作 
function test() { 
  alert('关注成功'); 
}

查看效果:

使用BootStrap实现悬浮窗口的效果

以上所述是小编给大家介绍的使用BootStrap实现悬浮窗口的效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Zero Clipboard js+swf实现的复制功能使用方法
Mar 07 Javascript
用js小类库获取浏览器的高度和宽度信息
Jan 15 Javascript
利用浏览器全屏api实现js全屏
Jan 16 Javascript
JQuery each()嵌套使用小结
Apr 18 Javascript
js中的json对象详细介绍
Oct 29 Javascript
JS设置下拉列表框当前所选值的方法
Dec 22 Javascript
Canvas实现放射线动画效果
Feb 15 Javascript
微信小程序自动客服功能
Nov 02 Javascript
性能优化篇之Webpack构建速度优化的建议
Apr 03 Javascript
vue实现设置载入动画和初始化页面动画效果
Oct 28 Javascript
vue单应用在ios系统中实现微信分享功能操作
Sep 07 Javascript
Vue+scss白天和夜间模式切换功能的实现方法
Jan 05 Vue.js
关于微信jssdk实现多图片上传的一点心得分享
Dec 13 #Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
Dec 13 #Javascript
JS实现微信弹出搜索框 多条件查询功能
Dec 13 #Javascript
根据输入邮箱号跳转到相应登录地址的解决方法
Dec 13 #Javascript
JavaScript实现倒计时跳转页面功能【实用】
Dec 13 #Javascript
Javascript实现倒计时(防页面刷新)实例
Dec 13 #Javascript
利用select实现年月日三级联动的日期选择效果【推荐】
Dec 13 #Javascript
You might like
php学习 函数 课件
2008/06/15 PHP
PHP小程序自动提交到自助友情连接
2009/11/24 PHP
PHP实现可自定义样式的分页类
2016/03/29 PHP
Laravel框架搜索分页功能示例
2019/02/01 PHP
prototype 源码中文说明之 prototype.js
2006/09/22 Javascript
Javascript实例教程(19) 使用HoTMetal(5)
2006/12/23 Javascript
JavaScript 编程引入命名空间的方法
2007/06/29 Javascript
ext form 表单提交数据的方法小结
2008/08/08 Javascript
InnerHtml和InnerText的区别分析
2009/03/13 Javascript
Prototype PeriodicalExecuter对象 学习
2009/07/19 Javascript
Extjs中DisplayField的日期或者数字格式化扩展
2010/09/03 Javascript
jquery统计复选框选中示例
2013/11/05 Javascript
jquery实现带二级菜单的导航示例
2014/04/28 Javascript
javascript操作ul中li的方法
2015/05/14 Javascript
jquery实现很酷的网页顶部图标下拉菜单效果
2015/08/22 Javascript
基于JavaScript实现 网页切出 网站title变化代码
2016/04/03 Javascript
浅谈时钟的生成(js手写简洁代码)
2016/08/20 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
2017/03/17 Javascript
Angular4项目中添加i18n国际化插件ngx-translate的步骤详解
2017/07/02 Javascript
AngularJS实现表单元素值绑定操作示例
2017/10/11 Javascript
使用puppeteer破解极验的滑动验证码
2018/02/24 Javascript
ElementUI之Message功能拓展详解
2019/10/18 Javascript
微信小程序实现上传多张图片、删除图片
2020/07/29 Javascript
浅谈鸿蒙 JavaScript GUI 技术栈
2020/09/17 Javascript
Python程序设计入门(2)变量类型简介
2014/06/16 Python
Python生成器(Generator)详解
2015/04/13 Python
以911新闻为例演示Python实现数据可视化的教程
2015/04/23 Python
详解使用pymysql在python中对mysql的增删改查操作(综合)
2017/01/18 Python
NetworkX之Prim算法(实例讲解)
2017/12/22 Python
python 多线程中join()的作用
2020/10/29 Python
乡镇领导班子批评与自我批评材料
2014/09/23 职场文书
病危通知书样本
2015/04/17 职场文书
2015年人事科工作总结
2015/04/28 职场文书
2016中学教师读书心得体会
2016/01/13 职场文书
《风筝》教学反思
2016/02/23 职场文书
Python通过m3u8文件下载合并ts视频的操作
2021/04/16 Python