纯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 相关文章推荐
bgsound 背景音乐 的一些常用方法及特殊用法小结
May 11 Javascript
javaScript如何处理从java后台返回的list
Apr 24 Javascript
jQuery简单实现验证邮箱格式
Jul 15 Javascript
关于JS中prototype的理解
Sep 07 Javascript
详解JavaScript编程中的数组结构
Oct 24 Javascript
深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
Dec 16 Javascript
JavaScript面向对象程序设计教程
Mar 29 Javascript
js实现下拉菜单效果
Mar 01 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
Dec 01 Javascript
Vue匿名插槽与作用域插槽的合并和覆盖行为
Apr 22 Javascript
jquery实现直播弹幕效果
Nov 28 jQuery
浅析VUE防抖与节流
Nov 24 Vue.js
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
php 无限级缓存的类的扩展
2009/03/16 PHP
php 中文和编码判断代码
2010/05/16 PHP
php5.5新数组函数array_column使用
2013/07/08 PHP
php实现的获取网站备案信息查询代码(360)
2013/09/23 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
2016/08/17 PHP
php上传excel表格并获取数据
2017/04/27 PHP
PHP Web表单生成器案例分析
2020/06/02 PHP
一段实时更新的时间代码
2006/07/07 Javascript
javascript 进阶篇1 正则表达式,cookie管理,userData
2012/03/14 Javascript
jQuery实现购物车多物品数量的加减+总价计算
2014/06/06 Javascript
浅谈javascript获取元素transform参数
2015/07/24 Javascript
深入理解jQuery layui分页控件的使用
2016/08/17 Javascript
js中常用的Tab切换效果(推荐)
2016/08/30 Javascript
巧用Javascript的逻辑运算符
2016/12/02 Javascript
Vue2.0 UI框架ElementUI使用方法详解
2017/04/14 Javascript
在layui tab控件中载入外部html页面的方法
2019/09/04 Javascript
[41:20]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS DK
2014/05/26 DOTA
[00:55]2015国际邀请赛中国区预选赛5月23日——28日约战上海
2015/05/25 DOTA
[01:14:12]2018DOTA2亚洲邀请赛4.7 总决赛 LGD vs Mineski 第二场
2018/04/09 DOTA
python抓取网页内容示例分享
2014/02/24 Python
Python实现读取并保存文件的类
2017/05/11 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
2017/05/19 Python
Python语言描述机器学习之Logistic回归算法
2017/12/21 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
python中对数据进行各种排序的方法
2019/07/02 Python
利用python在excel中画图的实现方法
2020/03/17 Python
CSS3 3D立方体效果示例-transform也不过如此
2016/12/05 HTML / CSS
英国最大的割草机购买网站:Just Lawnmowers
2019/11/02 全球购物
暑期研修感言
2014/02/17 职场文书
敬老院院长事迹材料
2014/05/21 职场文书
八项规定整改方案
2014/10/01 职场文书
党员带头倡议书
2015/04/29 职场文书
新员工试用期工作总结2015
2015/05/28 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
Python初学者必备的文件读写指南
2021/06/23 Python
项目中Nginx多级代理是如何获取客户端的真实IP地址
2022/05/30 Servers