纯JS代码实现气泡效果


Posted in Javascript onMay 04, 2016

就不给大家多文字说明了。给大家梳理下关键步骤。

关键步骤:

1、引入js文件

<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src='js/jquery.thoughtBubble.js'></script>

2、在需要使用气泡效果的地方

<div id='mainContainer' class='container'>
<img src='ahout.JPG' id="thoughtBubble" alt='whats up?' />
</div>

3、使用气泡效果

<script type="text/javascript">
$(window).ready( function() {
$('#thoughtBubble').thoughtBubble({
text: 'baby,I love you',
font: 'avenir'
});
});

4、这是jquery.thoughtBubblr.js代码

(function($) {
$.fn.thoughtBubble = function( defaults ) {
var settings = $.extend({
backgroundColor: 'white',
fontColor: 'black',
width: '330px',
height: '210px',
fontSize: '15px',
bubbleColor: 'white',
speed: 125
}, defaults ),
getBubbleDiv = function( container ) {
var offset = container.offset(),
modifiedHeight = offset.top - parseInt( settings.height ),
style = '"position: absolute; top:' + modifiedHeight + 'px; left:' + offset.left + 'px ; width:' + settings.width + '; height:' + settings.height + ';"',
bubbleContainer = "<div class='bubble-holder' style=" + style + ">" + getMainBubble() + getBubbles() + "</div>";
return bubbleContainer;
},
getMainBubble = function() {
return '<div class="main-bubble-holder"><div class="bubble main-bubble">' + getText() + '</div></div>';
},
getText = function() {
return '<span style="vertical-align: middle; color: ' + settings.fontColor + ';font-size: ' + settings.fontSize + '; font-family: ' + settings.font + '">' + settings.text + '</span>';
},
getBubbles = function() {
return '<div class="sm-bubble-holder"><div class="bubble bubbleLg"></div><div class="bubble bubbleMd"></div><div class="bubble bubbleSm"></div></div>';
},
animate = function(){
var bubbles = $(document).find('.bubble'),
reversed = bubbles.get().reverse(),
speed = settings.speed;
$(reversed[0]).stop().animate({ opacity: 1}, speed, function() {
$(reversed[1]).animate({ opacity: 1}, speed, function() {
$(reversed[2]).animate({ opacity: 1}, speed, function() {
$(reversed[3]).animate({ opacity: 1},speed);
});
});
});
},
unanimate = function() {
var bubbles = $(document).find('.bubble');
bubbles.stop().animate({opacity: 0});
},
shiftDiv = function( container ) {
var bubbleHolder = $(document).find('.bubble-holder'),
previousPosition = container.offset().left;
bubbleHolder.css('left', previousPosition);
};
return this.each( function() {
var $this = $(this),
container = getBubbleDiv( $this );
$this.on('mouseenter', animate );
$this.on('mouseout', unanimate );
$(window).on('resize', shiftDiv.bind(this, $this) );
return $this.parent().prepend(container);
});
};
})(jQuery);

以上给大家分享了js气泡效果的关键步骤,代码简单易懂,就没给写过多的文字说明,大家有疑问欢迎给我留言,小编会及时回复大家的,在此小编也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery中replaceAll()方法用法实例
Jan 16 Javascript
JQuery中上下文选择器实现方法
May 18 Javascript
Jquery中request和request.form和request.querystring的区别
Nov 26 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
Jan 27 Javascript
js去字符串前后空格的实现方法
Feb 26 Javascript
JavaScript中object和Object的区别(详解)
Feb 27 Javascript
微信小程序之前台循环数据绑定
Aug 18 Javascript
vue-router路由懒加载和权限控制详解
Dec 13 Javascript
利用Javascript实现一套自定义事件机制
Dec 14 Javascript
手写Node静态资源服务器的实现方法
Mar 20 Javascript
el-table树形表格表单验证(列表生成序号)
May 31 Javascript
浏览器JavaScript调试功能无法使用解决方案
Sep 18 Javascript
DWR中各种java方法的调用
May 04 #Javascript
js实现div在页面拖动效果
May 04 #Javascript
JS功能代码集锦
May 04 #Javascript
Markdown与Bootstrap相结合实现图片自适应属性
May 04 #Javascript
浅析Bootstrap组件之面板组件
May 04 #Javascript
javascript截图 jQuery插件imgAreaSelect使用详解
May 04 #Javascript
js编写当天简单日历效果【实现代码】
May 03 #Javascript
You might like
Smarty Foreach 使用说明
2010/03/23 PHP
PHP接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
php通过两层过滤获取留言内容的方法
2016/07/11 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
2016/10/08 PHP
layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例
2018/05/12 PHP
javascript 获取url参数和script标签中获取url参数函数代码
2010/01/22 Javascript
JQuery做的一个简单的点灯游戏分享
2014/07/16 Javascript
吐槽一下我所了解的Node.js
2014/10/08 Javascript
Jquery结合HTML5实现文件上传
2015/06/25 Javascript
js设置和获取自定义属性的方法
2016/10/20 Javascript
微信小程序 用户数据解密详细介绍
2017/01/09 Javascript
jQuery.Form实现Ajax上传文件同时设置headers的方法
2017/06/26 jQuery
Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)
2017/09/14 Javascript
JavaScript 实现下雪特效的示例代码
2020/09/09 Javascript
使用jquery实现轮播图效果
2021/01/02 jQuery
[00:32]2018DOTA2亚洲邀请赛iG出场
2018/04/03 DOTA
[01:01:51]EG vs VG Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
Python高级应用实例对比:高效计算大文件中的最长行的长度
2014/06/08 Python
在Python中操作文件之truncate()方法的使用教程
2015/05/25 Python
Django查询数据库的性能优化示例代码
2017/09/24 Python
python中学习K-Means和图片压缩
2017/11/20 Python
Python基于ThreadingTCPServer创建多线程代理的方法示例
2018/01/11 Python
Python函数any()和all()的用法及区别介绍
2018/09/14 Python
python3中利用filter函数输出小于某个数的所有回文数实例
2019/11/24 Python
Python Pandas 转换unix时间戳方式
2019/12/07 Python
Python的pygame安装教程详解
2020/02/10 Python
django和flask哪个值得研究学习
2020/07/31 Python
html5桌面通知(Web Notifications)实例解析
2014/07/07 HTML / CSS
洲际酒店集团英国官网:IHG英国
2019/07/10 全球购物
《凡卡》教学反思
2014/04/09 职场文书
租车协议书范本
2014/04/22 职场文书
社区春季防火方案
2014/06/02 职场文书
2014年医德医风工作总结
2014/11/13 职场文书
计算机教师工作总结
2015/08/13 职场文书
幼儿园教师教学反思
2016/03/02 职场文书