纯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 相关文章推荐
分析Node.js connect ECONNREFUSED错误
Apr 09 Javascript
JS根据年月获得当月天数的实现代码
Jul 03 Javascript
jquery和js实现对div的隐藏和显示方法
Sep 26 Javascript
ECMAScript 6即将带给我们新的数组操作方法前瞻
Jan 06 Javascript
js实现向右横向滑出的二级菜单效果
Aug 27 Javascript
jQuery基于排序功能实现上移、下移的方法
Nov 26 Javascript
原生js实现无缝轮播图效果
Jan 11 Javascript
Javascript的this用法
Jan 16 Javascript
Node.js之删除文件夹(含递归删除)代码实例
Sep 09 Javascript
vue cli4下环境变量和模式示例详解
Apr 09 Javascript
Jquery ajax书写方法代码实例解析
Jun 12 jQuery
解决Vue-cli无法编译es6的问题
Oct 30 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
Cappuccino 卡布其诺咖啡之制作
2021/03/03 冲泡冲煮
编写Smarty插件在模板中直接加载数据的详细介绍
2013/06/26 PHP
使用PHP实现阻止用户上传成人照片或者裸照
2014/12/25 PHP
php通过文件头判断格式的方法
2016/05/28 PHP
Yii2中事务的使用实例代码详解
2016/09/07 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
2019/05/27 PHP
PHP字符串中抽取子串操作实例分析
2019/06/22 PHP
跟着Jquery API学Jquery之一 选择器
2010/04/07 Javascript
javascript开发技术大全-第3章 js数据类型
2011/07/03 Javascript
javascript动态添加、修改、删除对象的属性与方法详解
2014/01/27 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
用IE重起计算机或者关机的示例代码
2014/03/10 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
2015/03/19 Javascript
JavaScript高级程序设计(第三版)学习笔记6、7章
2016/03/11 Javascript
Angularjs的ng-repeat中去除重复数据的方法
2016/08/05 Javascript
angularJS 如何读写缓冲的方法(推荐)
2016/08/06 Javascript
微信小程序 删除项目工程实现步骤
2016/11/10 Javascript
深入理解Webpack 中路径的配置
2017/06/17 Javascript
vue环境搭建简单教程
2017/11/07 Javascript
php结合js实现多条件组合查询
2019/05/28 Javascript
Vue实现计算器计算效果
2020/08/17 Javascript
python实现定时同步本机与北京时间的方法
2015/03/24 Python
使用Python中的线程进行网络编程的入门教程
2015/04/15 Python
Python 列表排序方法reverse、sort、sorted详解
2016/01/22 Python
django开发之settings.py中变量的全局引用详解
2017/03/29 Python
python将unicode转为str的方法
2017/06/21 Python
用python与文件进行交互的方法
2018/03/01 Python
Flask Web开发入门之文件上传(八)
2018/08/17 Python
python由已知数组快速生成新数组的方法
2020/04/08 Python
Python自动化测试基础必备知识点总结
2021/02/07 Python
远程Wi-Fi宠物监控相机:Petcube
2017/04/26 全球购物
C/C++有关内存的思考题
2015/12/04 面试题
网络公司美工设计工作个人的自我评价
2013/11/03 职场文书
语文教师求职信范文
2015/03/20 职场文书
为自己工作观后感
2015/06/11 职场文书
上手简单,功能强大的Python爬虫框架——feapder
2021/04/27 Python