使用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 相关文章推荐
Prototype ObjectRange对象学习
Jul 19 Javascript
jQuery 学习第七课 扩展jQuery的功能 插件开发
May 17 Javascript
JavaScript函数的4种调用方法详解
Apr 22 Javascript
jQuery实现自动滚动到页面顶端的方法
May 22 Javascript
jQuery实现图片与文字描述左右滑动自动切换的方法
Jul 27 Javascript
jquery按回车键实现表单提交的简单实例
May 25 Javascript
vue slot 在子组件中显示父组件传递的模板
Mar 02 Javascript
JS从非数组对象转数组的方法小结
Mar 26 Javascript
jQuery实现的页面详情展开收起功能示例
Jun 11 jQuery
JavaScript数据结构之栈实例用法
Jan 18 Javascript
ES6使用新特性Proxy实现的数据绑定功能实例
May 11 Javascript
vue 授权获取微信openId操作
Nov 13 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 缓冲的免费实现方法
2006/10/09 PHP
PHP中的日期处理方法集锦
2007/01/02 PHP
PHP文件大小格式化函数合集
2014/03/10 PHP
php生成QRcode实例
2014/09/22 PHP
Joomla开启SEF的方法
2016/05/04 PHP
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
2009/08/28 Javascript
深入理解JavaScript系列(11) 执行上下文(Execution Contexts)
2012/01/15 Javascript
jquery拖动插件(jquery.drag)使用介绍
2013/06/18 Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
2013/11/22 Javascript
js 高效去除数组重复元素示例代码
2013/12/19 Javascript
jQuery+CSS3实现树叶飘落特效
2015/02/01 Javascript
JavaScript中字符串(string)转json的2种方法
2015/06/25 Javascript
JavaScript观察者模式(经典)
2015/12/09 Javascript
Bootstrap基本样式学习笔记之表单(3)
2016/12/07 Javascript
详解MVC如何使用开源分页插件(shenniu.pager.js)
2016/12/16 Javascript
jQuery实现的手风琴侧边菜单效果
2017/03/29 jQuery
利用PM2部署node.js项目的方法教程
2017/05/10 Javascript
js实现图片懒加载效果
2017/07/17 Javascript
浅谈Node.js ORM框架Sequlize之表间关系
2017/07/24 Javascript
Echarts基本用法_动力节点Java学院整理
2017/08/11 Javascript
javascript观察者模式实现自动刷新效果
2017/09/05 Javascript
浅谈微信小程序flex布局基础
2018/09/10 Javascript
Python爬虫框架Scrapy实战之批量抓取招聘信息
2015/08/07 Python
python 生成器生成杨辉三角的方法(必看)
2017/04/10 Python
Python实现统计代码行的方法分析
2017/07/12 Python
tornado+celery的简单使用详解
2019/12/21 Python
一款CSS3实现多功能下拉菜单(带分享按)的教程
2014/11/05 HTML / CSS
html5适合移动应用开发的12大特性
2014/03/19 HTML / CSS
巴西电子产品购物网站:Saldão da Informática
2018/01/09 全球购物
vue项目实现分页效果
2021/03/24 Vue.js
化学工程专业求职信
2014/08/10 职场文书
计算机科学与技术专业求职信
2014/09/03 职场文书
法定代表人证明书
2014/11/28 职场文书
交通事故被告代理词
2015/05/23 职场文书
用python批量解压带密码的压缩包
2021/05/31 Python
Python学习之包与模块详解
2022/03/19 Python