1. [代码][JavaScript]代码

//调用说明
//$(selector).bub($(selector) | string[, options]);
//示例: $('#demo1').bub('hello, world!');
//options 说明
//defaults: {
//    color: '#e6e6e6',               //背景颜色
//    padding: '10px',                //内边距
//    radius: '5px',                  //圆角半径(css3)
//    shadow: 'none',                 //阴影(css3)
//    left: 0,                        //位置x轴偏移
//    top: 0,                         //位置y轴偏移
//    arrow_size: '15px',             //气泡的箭头大小
//    arrow_direct: ['top', 'left'],  //气泡的箭头指向方位([0]:'top'|'bottom',[1]:'left'|'right')
//    click_blank_hide: true          //点击页面空白处时是否销毁气泡
//}
 
(function () {
  $.fn.extend({
    bub: function (content, opts) {
      var merge = function (all, segment) {
          var ret = {};
          for (var o in all) {
            ret[o] = segment[o] === undefined ? all[o] : segment[o];
          }
          return ret;
        };
      var defaults = {
        color: '#e6e6e6',
        padding: '10px',
        radius: '5px',
        shadow: 'none',
        left: 0,
        top: 0,
        arrow_size: '15px',
        arrow_direct: ['top', 'left'],
        click_blank_hide: true
      };
      opts = merge(defaults, opts || {});
      this.each(function () {
        if ($(this).data().buber) {
          $(this).un_bub();
        }
        var bub_box = $('<div class="ns_bub_box" sans serif", tahoma, verdana, helvetica; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; word-wrap: break-word; -webkit-text-stroke-width: 0px;'>                    border-' + opts.arrow_direct[0] + ':transparent ' + opts.arrow_size + ' dashed;\
                    border-' + opts.arrow_direct[1] + ':' + opts.color + ' ' + opts.arrow_size + ' solid;\
                    position:absolute;\
                    border-' + (opts.arrow_direct[0] == 'top' ? 'bottom' : 'top') + '-' + opts.arrow_direct[1] + '-radius:' + opts.radius + ';\
                    left:' + ($(this).offset().left + opts.left) + 'px;\
                    top:' + ($(this).offset().top + $(this).outerHeight() + opts.top) + 'px;\
                    ">\
                    \
                    \
                    \
                    \
                    \
                    \<div class="ns_bub_wrapper" sans serif", tahoma, verdana, helvetica; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; word-wrap: break-word; -webkit-text-stroke-width: 0px;'>                    box-shadow:' + opts.shadow + ';\
                    padding:' + opts.padding + ';\
                    background:' + opts.color + ';\
                    border-top-' + (opts.arrow_direct[1] == 'left' ? 'right' : 'left') + '-radius:' + opts.radius + ';\
                    border-bottom-' + (opts.arrow_direct[1] == 'left' ? 'right' : 'left') + '-radius:' + opts.radius + ';\
                    "></div></div>');http://www.huiyi8.com/lingsheng/​
        $('body').append(bub_box);手机铃声
        $(this).data().buber = bub_box;
        $(this).attr('ns_bub_binder', opts.click_blank_hide);
        if (content instanceof $) {
          content = content.clone();
          content.show();
        }
        bub_box.find('.ns_bub_wrapper').append(content);
      });
    },
    un_bub: function () {
      this.each(function () {
        var bub_box = $(this).data().buber;
        if (bub_box === undefined) return;
        delete $(this).data().buber;
        bub_box.remove();
      });
    }
  });
  $(function () {
    $(document).click(function (e) {
      e = e || window.event;
      var src = e.target || e.srcElement;
      if ($(src).attr('class') == 'ns_bub_box' || $(src).attr('class') == 'ns_bub_wrapper' || $(src).attr('ns_bub_binder') !== undefined) return;
      $('*[ns_bub_binder=true]').un_bub();
    });
  });
})(window);

纯CSS的jQuery的气泡提示组件的更多相关文章

  1. 使用纯CSS实现带箭头的提示框

    爱编程爱分享,原创文章,转载请注明出处,谢谢!http://www.cnblogs.com/fozero/p/6187323.html 1.全部代码 <!DOCTYPE html> < ...

  2. 瀑布流的实现纯CSS实现Jquery实现

    瀑布流的实现 注:本文部分图片自百度下载,如有侵权,联系删图. 首先,选择几张图片布局到HTML内容中.HTML如下所示. <div class="wrapper"> ...

  3. 纯CSS实现箭头、气泡让提示功能具有三角形图标(简单实例)

    <style type="text/css"> /*向上箭头,类似A,只有三个边,不能指定上边框*/ .arrow-up { width: 0px; height: 0 ...

  4. 纯css手写圆角气泡对话框 微信小程序和web都适用

    嗯……我们设计师强烈要求一定要圆角!圆角的气泡对话框,不要那种尖角的.这其中还遇上了个尴尬的问题,z-index不生效 无非就是两种方法,一种是使用图片再定位拼接起来使用,太简单了具体就不详细的说了. ...

  5. Tippy.js - 免费开源且高度可定制的气泡提示独立组件

    推荐一个非常优秀的 web 气泡提示独立UI组件. 介绍 Tippy.js 是一款用于Web的完整工具提示,弹出菜单,下拉菜单和菜单解决方案.适用于鼠标,键盘和触摸输入. 特点 超轻量的纯 javas ...

  6. 气泡提示 纯CSS

    tooltip(气泡提示) 依赖 脚本文件:CalvinTip.js 样式文件:toolTip.css 参数 elems HTMLNode 必须 气泡提示的元素 options Object 可选 多 ...

  7. jquery.validate.unobtrusive.js实现气泡提示mvc错误

    改写jquery.validate.unobtrusive.js实现气泡提示mvc错误 个人对于这个js.css不是很擅长,所以这个气泡提醒的样式网上找了下,用了这个http://www.cnblog ...

  8. 纯CSS箭头,气泡

    原文地址: CSS Triangles 演示地址:CSS Triangles Demo 原文日期: 2013年8月5日 翻译日期: 2013年8月9日 本文两种实现方式: 使用或不使用 before ...

  9. 纯CSS tooltip 提示

    一般的tooltip,使用超链接的title,或者是css+javascript生成. 如果页面布局合理,样式结构清晰,可以使用纯CSS的提示. demo如下: a.tooltip { positio ...

随机推荐

  1. java锁之wait,notify(wait会释放锁,notify仅仅只是通知,不释放锁)

    wait是指在一个已经进入了同步锁的线程内,让自己暂时让出同步锁,以便其他正在等待此锁的线程可以得到同步锁并运行,只有其他线程调用了notify方法(notify并不释放锁,只是告诉调用过wait方法 ...

  2. [译]GLUT教程 - 移动镜头3

    Lighthouse3d.com >> GLUT Tutorial >> Input >> Moving the Camera III 上一节的示例中我们用键盘更改 ...

  3. httpd在嵌入式中应用

    在启动脚本合适位置添加: httpd -h /usr/app/www/ 即开始httpd服务,并定位到/usr/app/www/ 注:busybox已支持httpd命令,所以直接用即可. busybo ...

  4. Project Euler:Problem 87 Prime power triples

    The smallest number expressible as the sum of a prime square, prime cube, and prime fourth power is ...

  5. jvm 调优参数

    -server -Xms6000M -Xmx6000M -Xmn500M -XX:PermSize=500M -XX:MaxPermSize=500M -XX:SurvivorRatio=65536 ...

  6. wordcloud使用

    学了下怎么用wordcloud. 以imet的数据集为例 https://www.kaggle.com/c/imet-2019-fgvc6 读取“train.csv”,”label.csv”文件,得到 ...

  7. iOS - 每隔一段时间,反复执行同一个任务

    我们有时候会有这样的需求,当程序处于运行状态,每隔几秒给服务器发送一次请求. 这时我们可以这样处理: UILocalNotification *localNotification = [[UILoca ...

  8. win10中如何成功安装lxml

    lxml官网地址:http://lxml.de/index.html 问题: 在学习lxm的时候,发现在win10下总是安装失败,如下: 在网上搜索了半天也没找到具体的解决方案,就FQgoogle下, ...

  9. java中业务接口

    今天写完业务层在抽取接口的时候脑子里突然产生了一个问题:抽取接口到底有什么用呢? 在刚刚学习接口的时候知道接口是为了实现java的多继承,但是现在每一个业务类都要抽取一个接口,每当该类需要增加方法的时 ...

  10. mysql导出数据或结构

    导出整个数据库结构和数据 $ mysqldump -h localhost -uroot -p123456 database > dump.sql 导出单个数据表结构和数据 $ mysqldum ...