纯CSS的jQuery的气泡提示组件

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);

时间: 2024-08-23 17:46:56

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

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

爱编程爱分享,原创文章,转载请注明出处,谢谢!http://www.cnblogs.com/fozero/p/6187323.html 1.全部代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>使用纯CSS实现带箭头的提示框</title> <script src="https://cdn.bootcss.com/jqu

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

<style type="text/css"> /*向上箭头,类似A,只有三个边,不能指定上边框*/ .arrow-up { width: 0px; height: 0px; border-left: 30px solid transparent; border-right: 30px solid transparent; border-bottom: 30px solid yellow; /*以下属性可以是IE5兼容*/ font-size: 0px; line-heig

CSS基础教程——纯CSS开发的气泡式提示框

本文为 H5EDU 机构官方 HTML5培训 教程,主要介绍:CSS基础教程 —— 纯CSS开发的气泡式提示框 作为前端开发人员,我们都熟悉使用CSS来生成页面上丰富的样式,对于边框border属性来说,也是我们最熟悉不过的CSS属性,今天我们这里将介绍如何使用纯CSS来生成一个气泡式样的提示框,希望大家喜欢! 在这篇文章中我们将使用:after伪标签来生成提示框的指示箭头. 首先我们定义提示框相关属性,我们添加了box阴影和文字阴影效果,这样让提示框更加漂亮: /* bubble */.tip

纯CSS实现的气泡提示框

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <html> <head> <meta charset=&quo

纯CSS实现tooltip提示框,CSS箭头及形状之续篇--给整个tooltip提示框加个边框

在前面一篇中我们介绍了纯CSS实现tooltip提示框,通俗的讲也就是CSS箭头及形状 不过注意一点是,他始终是一个元素,只是通过CSS实现的,今天我们要说的是给这个“tooltip提示框”整体加一个边框,下面是是一篇完成的截图(不了解的可以看看:纯CSS实现tooltip提示框,CSS箭头及形状): 首先像:after一样我们介绍另外一个CSS中“ :before ”选择器 定义和用法:(参考w3school:before选择器) :before 选择器在被选元素的内容前面插入内容,使用 co

CSS实现自定义手型气泡提示

实现自定义的手型气泡提示 <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> .test{ background: #CE5010 none repeat scroll 0% 0%; position: relative; border-radius: 20px; margin: 60px; h

纯CSS实现tooltip提示框,CSS箭头及形状

原文:纯CSS实现tooltip提示框,CSS箭头及形状 本片介绍仅用CSS做出tooltip那样的提示框及箭头等形状! 首先介绍一下CSS:after选择器 定义和用法:(参考w3school:after选择器) :after选择器在被选元素的内容后面插入内容,使用content属性来指定要插入的内容 例: p:after { content:"台词:-"; background-color:yellow; color:red; font-weight:bold; } 具体大家可以参

纯CSS下拉导航和jquery下拉导航对比

纯css实现的下拉导航demo:http://codepen.io/tianzi77/pen/xGOyxp 不用javascript以及jquery动态效果实现导航条的下拉效果.纯css属性实现,主要应用到绝对定位中的left:auto和left:-9999px:来隐藏或者鼠标经过的时候显示下拉菜单. htm结构: <ul class="nav"> <li><a href="/">小哲</a></li> &

TiTatoggle -- 一个基于Bootstrap3的纯CSS滑动开关按钮组件

TiTatoggle是个什么鬼? TiTatoggle其实是一款基于Bootstrap3的纯CSS滑动开关按钮组件. 不同于其他按钮组件,TiTatoggle滑动按钮组件没有使用Javascript,在这个组件中,它的HTML结构和原生的Bootstrap checkbox组件结构基本相同,方便易用,且提供了多种主题样式:IOS样式和Material样式等.下面我们就来看看TiTatoggle的安装和使用方法. 1.安装 TiTatoggle这么方便易用,那怎么安装呢?其实它可以通过Bower来