纯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 相关文章推荐
js location.replace与location.reload的区别
Sep 08 Javascript
父子窗体间传递JSON格式的数据的代码
Dec 25 Javascript
Javascript面向对象编程(三) 非构造函数的继承
Aug 28 Javascript
javascript对talbe进行动态添加、删除、验证实现代码
Mar 29 Javascript
JS正则中的RegExp对象对象
Nov 07 Javascript
jQuery trigger()方法用法介绍
Jan 13 Javascript
jQuery实现底部浮动窗口效果
Sep 07 Javascript
实例详解vue.js浅度监听和深度监听及watch用法
Aug 16 Javascript
JS使用队列对数组排列,基数排序算法示例
Mar 02 Javascript
vue 实现把路由单独分离出来
Aug 13 Javascript
结合axios对项目中的api请求进行封装操作
Sep 21 Javascript
vue响应式原理与双向数据的深入解析
Jun 04 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
dedecms系统常用术语汇总
2007/04/03 PHP
php url地址栏传中文乱码解决方法集合
2010/06/25 PHP
微信access_token的获取开发示例
2015/04/16 PHP
php项目中百度 UEditor 简单安装调试和调用
2015/07/15 PHP
基于Jquery的淡入淡出的特效基础练习
2010/12/13 Javascript
JavaScript 高级篇之DOM文档,简单封装及调用、动态添加、删除样式(六)
2012/04/07 Javascript
Jquery通过Ajax访问XML数据的小例子
2013/11/18 Javascript
js获取微信版本号的方法
2015/05/12 Javascript
理解javascript异步编程
2016/01/27 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
2016/06/21 Javascript
js当前页面登录注册框,固定div,底层阴影的实例代码
2016/10/04 Javascript
js选项卡的制作方法
2017/01/23 Javascript
jquery实现拖动效果(代码分享)
2017/01/25 Javascript
JS二叉树的简单实现方法示例
2017/04/05 Javascript
js删除数组中某几项的方法总结
2019/01/16 Javascript
vue+element+Java实现批量删除功能
2019/04/08 Javascript
微信小程序常用的3种提示弹窗实现详解
2019/09/19 Javascript
[52:20]VP vs VG Supermajor小组赛 B组胜者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
[54:26]完美世界DOTA2联赛PWL S3 Forest vs Rebirth 第一场 12.10
2020/12/12 DOTA
python持久性管理pickle模块详细介绍
2015/02/18 Python
Python中的探索性数据分析(功能式)
2017/12/22 Python
pandas全表查询定位某个值所在行列的方法
2018/04/12 Python
解决pip install的时候报错timed out的问题
2018/06/12 Python
python爬虫 线程池创建并获取文件代码实例
2019/09/28 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
2020/06/24 Python
python实现经纬度采样的示例代码
2020/12/10 Python
怎样声明接口
2014/09/19 面试题
初中语文教学反思
2014/02/02 职场文书
副科竞争上岗演讲稿
2014/05/12 职场文书
法人代表任命书范本
2014/06/05 职场文书
学校组织向国旗敬礼活动方案(中小学适用)
2014/09/27 职场文书
水电施工员岗位职责
2015/04/11 职场文书
Golang 实现获取当前函数名称和文件行号等操作
2021/05/08 Golang
MySQL创建管理KEY分区
2022/04/13 MySQL
apache虚拟主机配置的三种方式(小结)
2022/07/23 Servers
css之clearfix的用法深入理解(必看篇)
2023/05/21 HTML / CSS