自动生成气泡对话框的jQuery插件CreateBubble.js

news/2025/2/26 6:24:00

    之前在写一个界面,想要用到气泡,然而一直找不到现成的有效地办法,是在没有办法了我只好自己写一个,于是就有了现在的CreateBubble.js。很简单的一个函数,但是非常实用。

    使用方法:

        1.HTML代码:

            一个气泡对话框就是一个div,div内嵌另一个div,很简单的结构。

            

1 <div class="tag">
2     css3气泡框
3     <div class="tail"></div>
4 </div>

            其中div的class或者id不限制,可以随意给,也可以不定义。

            函数源码:

            

 1 $.fn.createBubble = function(obj){
 2     $(this).each(function(k,v){
 3         var $tail = $(v).find('div');
 4         var doubleRadius = '-'+(parseInt((obj.radius).replace(/px/g,''))*2).toString()+'px';
 5         $(v).css({
 6             'width':obj.width,
 7             'height':obj.height,
 8             'background-color':obj.color,
 9             'border-radius':obj.radius,
10             'position':'absolute',
11             'overflow':'visible'
12         });
13         $tail.css({
14             'position':'absolute',
15             'width':'0px',
16             'height':'0px',
17             'border':obj.tailSize + ' solid transparent'
18         });
19         switch(obj.tailPosition){
20             case 'top': $tail.css({'top':doubleRadius,'border-bottom-color':obj.color});break;
21             case 'right':$tail.css({'right':doubleRadius,'border-left-color':obj.color});break;
22             case 'bottom':$tail.css({'bottom':doubleRadius,'border-top-color':obj.color});break;
23             case 'left':$tail.css({'left':doubleRadius,'border-right-color':obj.color});break;
24             default:console.error('parameters given to function createBubble is not correct!');
25         }
26         if(obj.left && (obj.tailPosition == 'bottom' || obj.tailPosition == 'top')){
27             $tail.css('left',obj.left);
28         }
29         else if(obj.bottom && (obj.tailPosition == 'left' || obj.tailPosition == 'right')){
30             $tail.css('bottom',obj.bottom);
31         }
32         else{
33             console.error('Parameters are not correct!');
34         }
35         if(obj.isShadow){
36             $(v).hover(function(){
37                     $(v).css('box-shadow','2px 2px 5px #888888');
38                 },function(){
39                     $(v).css("box-shadow","none");
40                 });
41         }
42     });
43 };
44 
45 //parameters that obj should contain
46 // var obj = {
47 //     width:'100px',
48 //     height:'80px',              size of the bubble
49 //  isShadow:true,            whether shadow or not
50 //     color:'#09F',              color of the bubble
51 //     radius:'10px',              bubble's border-radius property
52 //     tailPosition:'right',     position of the tail
53 //     bottom:'80px',            when tailPosition = 'left' or 'right'
54 //     left:'100px',              when tailPosition = 'top' or 'bottom'
55 //     tailSize:'10px'              size of the tail
56 // };

 

            其中的注释已经详细的说明了配置的内容。星号(*)代表必填项。

            实际使用如下:

                

                    HTML代码

                

                    JavaScript代码

                

                    效果图

                其他效果:

                

                

                

                在大量使用到气泡的场景,引入这个函数还是非常省心的。不过在使用该函数之前记得引用jQuery。

                该函数代码已被放在我的GitHub上了,欢迎大家更新改进或者克隆。

转载于:https://www.cnblogs.com/DM428/p/6985558.html


http://www.niftyadmin.cn/n/3093646.html

相关文章

linux 安全应用 1

Linux安全应用 &#xff08;用户 文件 sshd sudo&#xff09;selinux 数据加密 数据解密 https什么是安全&#xff1f;保护谁的安全&#xff1f; 服务器的安全怎么保护&#xff1f;物理安全&#xff08;规则制度&#xff09;本地安全 &#xff08;用户 文件&…

python递归算法的时间复杂度分析_递归算法的时间复杂度计算

【http://www.cnblogs.com/python27/archive/2011/12/09/2282486.html 谢谢】附注&#xff1a;即使递归算法的时间复杂度是O(n),但是递归算法要进行n次函数调用&#xff0c;而迭代算法则只需要进行n次迭代而已。其效率上的差异是很显著的开篇前言&#xff1a;为什么写这篇文章…

mapreduce的核心思想

2019独角兽企业重金招聘Python工程师标准>>> 设想一个海量数据场景下的wordcount需求&#xff1a; 单机版&#xff1a;内存受限&#xff0c;磁盘受限&#xff0c;运算能力受限 分布式&#xff1a; 1、文件分布式存储&#xff08;HDFS&#xff09; 2、运算逻辑需要至…

为何修复 Shellshock 漏洞像打地鼠

GNU Bourne Again Shell(bash)的Shellshock漏洞影响了广泛使用bash的Unix/Linux服务器&#xff0c;由于它允许远程执行代码获得与系统管理员相同的 权限去控制系统而被认为破坏力超过Heartbleed。而更糟糕的是&#xff0c;bash官方补丁没有完全修复问题。为何修复Shellshock漏洞…

highcharts一点理解

最近使用到图表&#xff0c; Echarts,Highcharts&#xff0c;这2大图表还是非常优秀的图表库&#xff0c;在这里我就简单的讲下Highcharts图表的使用和理解。 博主第一次接触的图表就是Highcharts图表&#xff0c;很快被它吸引到了&#xff0c; 因为样例很多&#xff0c;还很漂…

从信息的角度思考社区

多数产品经理都有一个社区梦。 --by 某位网红产品经理01社区产品是一个工具&#xff0c;是用户获取信息的工具。但是获取信息的工具有很多种&#xff0c;比如搜索引擎&#xff08;谷歌&#xff09;、推荐&#xff08;头条&#xff09;等。那么同样是帮助用户获取信息的工具&am…

php qcloud sdk weapp_GitHub - lxlwow/wafer-php-server-sdk: Wafer - 企业级微信小程序全栈方案...

Wafer 服务端 SDK - PHP注意Wafer PHP SDK 已经全面升级 2.0 以支持 Wafer2&#xff0c;如果您想查看 Wafer1 的 PHP SDK 文档&#xff0c;请点击这里。介绍Wafer 服务端 SDK 是腾讯云为微信小程序开发者提供的快速开发库&#xff0c;SDK 封装了以下功能供小程序开发者快速调用…

前端有用的东西--持续更新

Bootstrap --Twitter的CSS库&#xff0c;非常丰富。站点风格全然能够基于它实现http://getbootstrap.com/css/placehold--假设没有图片时候&#xff0c;传个參数进去&#xff0c;会返回给你一个暂时图片&#xff0c;显示长度宽度http://placehold.it/fontawsome--一些有用好看的…