纯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直接编辑当前cookie的脚本
Sep 14 Javascript
纯JS实现五子棋游戏兼容各浏览器(附源码)
Apr 24 Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
Jun 06 Javascript
jquery 获取dom固定元素 添加样式的简单实例
Feb 04 Javascript
纯js和css实现渐变色包括静态渐变和动态渐变
May 29 Javascript
Javascript中this关键字的一些小知识
Mar 15 Javascript
jquery实现平滑的二级下拉菜单效果
Aug 26 Javascript
web 前端常用组件之Layer弹出层组件
Sep 22 Javascript
在一个页面重复使用一个js函数的方法详解
Dec 26 Javascript
vue+vant实现商品列表批量倒计时功能
Jan 13 Javascript
Jquery高级应用Deferred对象原理及使用实例
May 28 jQuery
JS Object构造函数之Object.freeze
Apr 28 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 采集心得技巧
2009/05/15 PHP
The specified CGI application misbehaved by not returning a complete set of HTTP headers
2011/03/31 PHP
php 操作调试的方法
2012/07/12 PHP
php判断页面是否是微信打开的示例(微信打开网页)
2014/04/25 PHP
php正则替换处理HTML页面的方法
2015/06/17 PHP
隐藏Nginx或Apache以及PHP的版本号的方法
2016/01/03 PHP
php获取当前url地址的方法小结
2017/01/10 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
详解thinkphp中的volist标签
2018/01/15 PHP
php无限级分类实现评论及回复功能
2019/02/18 PHP
JS数组去重与取重的示例代码
2014/01/24 Javascript
js匿名函数的调用示例(形式多种多样)
2014/08/20 Javascript
JS基于Ajax实现的网页Loading效果代码
2015/10/27 Javascript
JavaScript动态添加css样式和script标签
2016/07/19 Javascript
基于JavaScript实现活动倒计时效果
2017/04/20 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
2017/05/13 jQuery
vue 中directive功能的简单实现
2018/01/05 Javascript
基于jquery ajax的多文件上传进度条过程解析
2019/09/11 jQuery
layui异步加载table表中某一列数据的例子
2019/09/16 Javascript
[32:30]夜魇凡尔赛茶话会 第一期01:谁是卧底
2021/03/11 DOTA
Python深入学习之特殊方法与多范式
2014/08/31 Python
Python实现的数据结构与算法之链表详解
2015/04/22 Python
python取代netcat过程分析
2018/02/10 Python
python实现可逆简单的加密算法
2019/03/22 Python
python导入坐标点的具体操作
2019/05/10 Python
python django下载大的csv文件实现方法分析
2019/07/19 Python
解决python便携版无法直接运行py文件的问题
2020/09/01 Python
解决pytorch下出现multi-target not supported at的一种可能原因
2021/02/06 Python
英国购买威士忌网站:Master of Malt
2019/09/26 全球购物
.net工程师笔试题
2012/06/09 面试题
给校长的建议书作文500字
2015/09/14 职场文书
Python 中 Shutil 模块详情
2021/11/11 Python
各种货币符号快捷输入
2022/02/17 杂记
一次SQL如何查重及去重的实战记录
2022/03/13 MySQL
python创建字典及相关管理操作
2022/04/13 Python
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技