纯JS代码实现气泡效果

 更新时间:2016年05月04日 11:32:13   作者:fantasticbaby  
js气泡效果,在项目需求中经常遇到。今天小编把大概实现步骤分享到脚本之家平台,感兴趣的朋友可以参考下

就不给大家多文字说明了。给大家梳理下关键步骤。

关键步骤:

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中实现页面跳转的几种常用方法总结

    本文主要介绍了网页开发中页面跳转的概念和重要性,及使用JS实现页面跳转的几种常见方法,包括使用window.location.href,window.location.replace(),window.location.assign(),window.open(),form表单提交以及HTML的a标签等方法实现页面跳转,需要的朋友可以参考下
    2024-10-10
  • js代码实现的加入收藏效果并兼容主流浏览器

    js代码实现的加入收藏效果并兼容主流浏览器

    这篇文章主要介绍了js代码实现的加入收藏效果并兼容主流浏览器,需要的朋友可以参考下
    2014-06-06
  • IE下使用cloneNode注意事项分享

    IE下使用cloneNode注意事项分享

    在开发百度“地裂特效”时,发现了一些匪夷所思的 bug,第一反应是特效本身的代码与页面上原有的脚本发生了冲突,经过调试发现,问题出现在 cloneNode 的应用上
    2012-11-11
  • Javascript在IE和Firefox浏览器常见兼容性问题总结

    Javascript在IE和Firefox浏览器常见兼容性问题总结

    这篇文章主要介绍了Javascript在IE和Firefox浏览器常见兼容性问题,结合实例形式总结分析了javascript在IE与Firefox浏览器中常见的各种兼容性问题与相应的解决方法,需要的朋友可以参考下
    2016-08-08
  • 跟我学习javascript的闭包

    跟我学习javascript的闭包

    跟我学习javascript的闭包,这篇文章的目的就是让大家对javascript闭包有一个非常全面的了解,感兴趣的小伙伴们可以参考一下。
    2015-11-11
  • js取消单选按钮选中示例代码

    js取消单选按钮选中示例代码

    取消单选按钮选中的方法有很多,下面为大家详细介绍下使用js是如何实现的,感兴趣的朋友不要错过
    2013-11-11
  • javascript表单正则应用

    javascript表单正则应用

    这篇文章主要为大家详细介绍了javascript表单正则应用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • 详解堆的javascript实现方法

    详解堆的javascript实现方法

    最近因为工作需要,要深入的学习JavaScript,发现如果囫囵吞枣印象就是不深刻,自己去练习一下才能慢慢有点感觉。本文主要是详解堆的javascript实现方法,另外堆排序对我们来说太耳熟而又少用的情况下,本文当作一次复习。感兴趣的朋友们下面来一起看看吧。
    2016-11-11
  • 10个经典的网页鼠标特效代码

    10个经典的网页鼠标特效代码

    小编为广大读者们整理了10个经典的网页鼠标特效代码,并对代码进行了编译和解释,需要的朋友收藏下吧。
    2018-01-01
  • layui 监听弹窗关闭并刷新父级table的场景分析

    layui 监听弹窗关闭并刷新父级table的场景分析

    这篇文章主要介绍了layui 监听弹窗关闭并刷新父级table的场景分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-07-07

最新评论