使用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 相关文章推荐
JSQL  一个 web DB 的封装
May 05 Javascript
使用jQuery和PHP实现类似360功能开关效果
Feb 12 Javascript
javascript中AJAX用法实例分析
Jan 30 Javascript
Angular使用Md5加密的解决方法
Sep 16 Javascript
使用Angular CLI生成 Angular 5项目教程详解
Mar 18 Javascript
Vue CLI3 开启gzip压缩文件的方式
Sep 30 Javascript
React如何解决fetch跨域请求时session失效问题
Nov 02 Javascript
element vue validate验证名称重复 输入框与后台重复验证 特殊字符 字符长度 及注意事项小结【实例代码】
Nov 20 Javascript
详解element-ui日期时间选择器的日期格式化问题
Apr 08 Javascript
TypeScript开发Node.js程序的方法
Apr 30 Javascript
Vue解决移动端弹窗滚动穿透问题
Dec 15 Vue.js
JavaScript使用setTimeout实现倒计时效果
Feb 19 Javascript
关于微信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中的extract的作用分析
2008/04/09 PHP
批量获取memcache值并按key的顺序返回的实现代码
2011/06/14 PHP
PHP中使用addslashes函数转义的安全性原理分析
2014/11/03 PHP
php json转换相关知识(小结)
2018/12/21 PHP
通过javascript的匿名函数来分析几段简单有趣的代码
2010/06/29 Javascript
extjs表格文本启用选择复制功能具体实现
2013/10/11 Javascript
JS的get和set使用示例
2014/02/20 Javascript
JavaScript支持的最大递归调用次数分析
2014/06/24 Javascript
jquery实现可拖拽弹出层特效
2015/01/04 Javascript
jquery实现手机号码选号的方法
2015/07/31 Javascript
jQuery实现div拖拽效果实例分析
2016/02/20 Javascript
实例剖析AngularJS框架中数据的双向绑定运用
2016/03/04 Javascript
AngularJs html compiler详解及示例代码
2016/09/01 Javascript
javascript判断firebug是否开启的方法
2016/11/23 Javascript
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
2019/01/15 Javascript
从0到1构建vueSSR项目之路由的构建
2019/03/07 Javascript
element日历calendar组件上月、今天、下月、日历块点击事件及模板源码
2020/07/27 Javascript
基于Vue全局组件与局部组件的区别说明
2020/08/11 Javascript
[01:07:20]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第二场 2月2日
2021/03/11 DOTA
python学习教程之Numpy和Pandas的使用
2017/09/11 Python
Python线性回归实战分析
2018/02/01 Python
基于python 二维数组及画图的实例详解
2018/04/03 Python
python判断字符串或者集合是否为空的实例
2019/01/23 Python
python实现简单的tcp 文件下载
2020/09/16 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
2020/09/20 Python
CSS3 text shadow字体阴影效果
2016/01/08 HTML / CSS
canvas实现按住鼠标移动绘制出轨迹的示例代码
2018/02/05 HTML / CSS
奇怪的鱼:Weird Fish
2018/03/18 全球购物
吉列剃须刀英国官网:Gillette英国
2019/03/28 全球购物
Stutterheim瑞典:瑞典高级外套时装品牌
2019/06/24 全球购物
一家专门经营包包的英国网站:MyBag
2019/09/08 全球购物
餐厅考勤管理制度
2014/01/28 职场文书
会计核算科岗位职责
2014/03/19 职场文书
安全教育演讲稿
2014/05/09 职场文书
mysql 数据插入优化方法之concurrent_insert
2021/07/01 MySQL
Android实现获取短信验证码并自动填充
2023/05/21 Java/Android