纯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 相关文章推荐
javascript 日期时间 转换的方法
Feb 21 Javascript
jquery多选项卡效果实例代码(附效果图)
Mar 23 Javascript
提示$ is not defined错误分析及解决
Apr 09 Javascript
javascript特殊用法示例介绍
Nov 29 Javascript
千分位数字格式化(用逗号隔开 代码已做了修改 支持0-9位逗号隔开)的JS代码
Dec 05 Javascript
浅析BootStrap栅格系统
Jun 07 Javascript
微信小程序 input输入框控件详解及实例(多种示例)
Dec 14 Javascript
原生js实现简单的链式操作
Jul 04 Javascript
node的process以及child_process模块学习笔记
Mar 06 Javascript
ionic使用angularjs表单验证(模板验证)
Dec 12 Javascript
react实现移动端下拉菜单的示例代码
Jan 16 Javascript
js实现QQ邮箱邮件拖拽删除功能
Aug 27 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 Http_Template_IT类库进行模板替换
2009/03/19 PHP
PHP学习 变量使用总结
2011/03/24 PHP
PHP setcookie设置Cookie用法(及设置无效的问题)
2011/07/13 PHP
HTML 自动伸缩的表格Table js实现
2009/04/01 Javascript
jQuery 数据缓存data(name, value)详解及实现
2010/01/04 Javascript
javascript中的正则表达式使用指南
2015/03/01 Javascript
浏览器兼容性问题大汇总
2015/12/17 Javascript
jquery ajax局部加载方法详解(实现代码)
2016/05/12 Javascript
jquery对象和DOM对象的相互转换详解
2016/10/18 Javascript
Bootstrap整体框架之JavaScript插件架构
2016/12/15 Javascript
vue-loader教程介绍
2017/06/14 Javascript
详解Vue.js搭建路由报错 router.map is not a function
2017/06/27 Javascript
Three.js中网格对象MESH的属性与方法详解
2017/09/27 Javascript
JavaScript内存泄漏的处理方式
2017/11/20 Javascript
JS 数组随机洗牌的实例代码
2018/09/12 Javascript
python基础教程之元组操作使用详解
2014/03/25 Python
Python数据类型详解(三)元祖:tuple
2016/05/08 Python
Python+OpenCV实现车牌字符分割和识别
2018/03/31 Python
python的dataframe转换为多维矩阵的方法
2018/04/11 Python
python利用Tesseract识别验证码的方法示例
2019/01/21 Python
python时间日期操作方法实例小结
2020/02/06 Python
Python编程快速上手——强口令检测算法案例分析
2020/02/29 Python
Tensorflow全局设置可见GPU编号操作
2020/06/30 Python
python Matplotlib数据可视化(2):详解三大容器对象与常用设置
2020/09/30 Python
详解python3类型注释annotations实用案例
2021/01/20 Python
HTML5 虚拟键盘出现挡住输入框的解决办法
2017/02/14 HTML / CSS
美国购车网站:TrueCar
2016/10/19 全球购物
Oroton中国官网:澳洲知名奢侈配饰品牌
2017/03/26 全球购物
全球地下的服装和态度:Slam Jam
2018/02/04 全球购物
经典c++面试题二
2015/08/14 面试题
新闻专业应届生求职信
2013/10/31 职场文书
八项规定自查自纠报告及整改措施
2014/10/26 职场文书
2014年平安夜寄语
2014/12/08 职场文书
催款函范本大全
2015/06/24 职场文书
React 并发功能体验(前端的并发模式)
2021/07/01 Javascript
Python中super().__init__()测试以及理解
2021/12/06 Python