使用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 相关文章推荐
调用js时ie6和ie7,ff的区别
Aug 19 Javascript
jquery禁用右键单击功能屏蔽F5刷新
Mar 17 Javascript
原生js和jquery分别实现横向导航菜单效果
May 13 Javascript
两行代码轻松搞定JavaScript日期验证
Aug 03 Javascript
关于javascript原型的修改与重写(覆盖)差别详解
Aug 31 Javascript
jQuery leonaScroll 1.1 自定义滚动条插件(推荐)
Sep 17 Javascript
使用JavaScript根据图片获取条形码的方法
Jul 04 Javascript
element-ui 设置菜单栏展开的方法
Aug 22 Javascript
读懂CommonJS的模块加载
Apr 19 Javascript
彻底揭秘keep-alive原理(小结)
May 05 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
Jul 17 Javascript
vue+element表格导出为Excel文件
Sep 26 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
ThinkPHP连接数据库的方式汇总
2014/12/05 PHP
PHP匿名函数和use子句用法实例
2016/03/16 PHP
php获取微信openid方法总结
2019/10/10 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
用js实现控制内容的向上向下滚动效果
2007/06/26 Javascript
JavaScript之HTMLCollection接口代码
2011/04/27 Javascript
JS实现日期加减的方法
2013/11/29 Javascript
JavaScript判断表单中多选框checkbox选中个数的方法
2015/08/17 Javascript
聊一聊JavaScript作用域和作用域链
2016/05/03 Javascript
老司机带你解读jQuery插件开发流程
2016/05/16 Javascript
总结javascript中的六种迭代器
2016/08/16 Javascript
微信小程序  modal详解及实例代码
2016/11/09 Javascript
AngularJS 霸道的过滤器小结
2017/04/26 Javascript
JS实现按钮控制计时开始和停止功能
2017/07/27 Javascript
JavaScript实现为事件句柄绑定监听函数的方法分析
2017/11/14 Javascript
小程序云开发初探(小结)
2018/10/24 Javascript
总结4个方面优化Vue项目
2019/02/11 Javascript
JavaScript Array对象基本方法详解
2019/09/03 Javascript
详解Vue 数据更新了但页面没有更新的 7 种情况汇总及延伸总结
2020/05/28 Javascript
[02:05]2014DOTA2西雅图邀请赛 专访啸天mik夫妻档
2014/07/08 DOTA
python使用fork实现守护进程的方法
2017/11/16 Python
Python排序搜索基本算法之归并排序实例分析
2017/12/08 Python
分析python动态规划的递归、非递归实现
2018/03/04 Python
Python3 修改默认环境的方法
2019/02/16 Python
在PyCharm中实现添加快捷模块
2020/02/12 Python
基于matplotlib中ion()和ioff()的使用详解
2020/06/16 Python
keras 模型参数,模型保存,中间结果输出操作
2020/07/06 Python
python调用摄像头的示例代码
2020/09/28 Python
python设置中文界面实例方法
2020/10/27 Python
Everlast官网:拳击、综合格斗和健身相关的体育用品
2020/08/03 全球购物
网上常见的一份Linux面试题(多项选择部分)
2014/09/09 面试题
什么是servlet
2012/05/08 面试题
幼儿教师寄语集锦
2014/04/03 职场文书
社会实践活动总结
2015/02/05 职场文书
朋友圈早安励志语录!
2019/07/08 职场文书
电脑只能进入安全模式无法正常启动的解决办法
2022/04/08 数码科技