纯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之WEB开发调试利器:Firebug 下载
Jan 13 Javascript
jQuery获取注册信息并提示实现代码
Apr 21 Javascript
Jquery选择子控件&quot;大于号&quot;和&quot; &quot;区别介绍及使用示例
Jun 25 Javascript
Jquery模仿Baidu、Google搜索时自动补充搜索结果提示
Dec 26 Javascript
Jquery中的层次选择器与find()的区别示例介绍
Feb 20 Javascript
jquery预加载图片的方法
May 27 Javascript
jquery validate demo 基础
Oct 29 Javascript
js文字横向滚动特效
Nov 11 Javascript
js去字符串前后空格的实现方法
Feb 26 Javascript
javascript基本数据类型及类型检测常用方法小结
Dec 14 Javascript
jQuery选择器之属性过滤选择器详解
Sep 28 jQuery
详解tween.js 中文使用指南
Jan 05 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
php仿discuz分页效果代码
2008/10/02 PHP
编写php应用程序实现摘要式身份验证的方法详解
2013/06/08 PHP
php中mt_rand()随机数函数用法
2014/11/24 PHP
PHP定时执行任务实现方法详解(Timer)
2015/07/30 PHP
Swoole-1.7.22 版本已发布,修复PHP7相关问题
2015/12/31 PHP
PHP如何通过带尾指针的链表实现'队列'
2020/10/22 PHP
Use Word to Search for Files
2007/06/15 Javascript
Javascript学习笔记8 用JSON做原型
2010/01/11 Javascript
jQuery 版元素拖拽原型代码
2011/04/25 Javascript
Jquery实现控件的隐藏和显示实例
2014/02/08 Javascript
jquery zTree异步加载简单实例讲解
2016/02/25 Javascript
JS中frameset框架弹出层实例代码
2016/04/01 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
2017/01/17 Javascript
nodejs服务搭建教程 nodejs访问本地站点文件
2017/04/07 NodeJs
JavaScript实现打地鼠小游戏
2020/04/23 Javascript
JavaScript上传文件时不用刷新页面方法总结(推荐)
2017/08/15 Javascript
Vue开发Html5微信公众号的步骤
2019/04/11 Javascript
JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去
2019/07/23 Javascript
在pycharm中开发vue的方法步骤
2020/03/04 Javascript
详解JavaScript 中的批处理和缓存
2020/11/19 Javascript
[05:08]顺网杯ISS-DOTA2赛歌 少女偶像Lunar青春演绎
2013/12/05 DOTA
python中实现定制类的特殊方法总结
2014/09/28 Python
Python:slice与indices的用法
2019/11/25 Python
TensorFlow keras卷积神经网络 添加L2正则化方式
2020/05/22 Python
python如何操作mysql
2020/08/17 Python
python 输入字符串生成所有有效的IP地址(LeetCode 93号题)
2020/10/15 Python
Python中openpyxl实现vlookup函数的实例
2020/10/28 Python
python 如何在测试中使用 Mock
2021/03/01 Python
教你如何一步一步用Canvas写一个贪吃蛇
2018/10/22 HTML / CSS
戛纳奢侈品商店:Jacques Loup法国
2019/11/04 全球购物
应用艺术毕业生的自我评价
2013/12/04 职场文书
体育口号大全
2014/06/18 职场文书
社团活动总结书
2014/06/27 职场文书
十佳青年事迹材料
2014/08/21 职场文书
大学生入党积极分子自我评价
2014/09/20 职场文书
初中生思想道德自我评价
2015/03/09 职场文书