• Stars
    star
    117
  • Rank 301,828 (Top 6 %)
  • Language
    HTML
  • License
    MIT License
  • Created almost 9 years ago
  • Updated over 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

基于Angularjs的浮层组件

angular-popups

基于 AngularJS 的浮层组件,由 artDialog 演进而来。angular-popups 是一个严格遵循 AngularJS 架构与 web 标准的组件:

  1. 使用 AngularJS 自带的 ng-ifng-showng-hide 控制浮层的显示、销毁
  2. 支持 ARIA 规范、无障碍焦点管理、快捷键关闭
  3. 完全基于 HTML 标签(指令),无需在控制器中进行配置
  4. 可以指定元素或鼠标事件对象($event)对齐
  5. 支持模态浮层
  6. 对移动端支持友好
  7. 轻量(css+js=7kb),不依赖 jQuery 等外部库

演示站点:https://aui.github.io/angular-popups/

使用

支持使用 script 标签或者 webpack、requirejs、seajs 调用:

script

调用

<script src="lib/angular.js"></script>
<script src="dist/angular-popups.js"></script>
<script>
    var app = angular.module('app', ['angular-popups']);
</script>

webpack

安装

npm install angular-popups

调用

require('angular-popups');
var app = angular.module('app', ['angular-popups']);

angular-popups 依赖 angular 这个全局模块

指令

包含如下浮层指令:

浮层通用参数

名称 说明
ng-if 显示或隐藏浮层(DOM 插入或删除)
ng-show 显示浮层
ng-hide 隐藏浮层
for 指定元素对齐,传入目标元素 ID 即可
align 对齐的参数,此参数需要与 for 配合使用。默认 "bottom left",可选值:"top left" "top" "top right" "right top" "right" "right bottom" "bottom right" "bottom" "bottom left" "left bottom" "left" "left top"
fixed 使用固定定位,等同于 CSS position:fixed
modal 模态浮层
duration 自动关闭的时间(单位毫秒)
close 浮层关闭事件
close-action 配置浮层由什么动作来触发关闭(执行 close 事件)。默认 "esc timeout" ,所有支持的动作: "esc timeout outerchick click"

ng-ifng-show 如果传入的是 $event,则浮层会定位到事件触发位置

dialog

对话框指令

子指令

名称 说明
dialog-title 对话框标题容器
dialog-content 对话框内容容器
dialog-buttons 对话框按钮容器
dialog-statusbar 对话框状态栏容器

对话框子指令中的事件可以使用 $close() 这个函数,它会调用通用参数 close 中的表达式

示例

<dialog ng-if="dialog.open" close="dialog.open=false">
    <div dialog-title>消息</div>
    <div dialog-content>hello world</div>
</dialog>

在线演示:

  1. 普通对话框
  2. 模态对话框
  3. 带按钮的对话框
  4. 带状态栏的对话框
  5. 无标题的对话框
  6. 无关闭按钮的对话框
  7. 带箭头的对话框
  8. fixed 定位的对话框
  9. 定时关闭的对话框
  10. 外部点击可关闭的对话框

bubble

气泡浮层指令

示例

<button id="btn" ng-click="bubble.open = true">打开气泡</button>
<bubble ng-if="bubble.open" for="btn" close="bubble.open=false">
    hello world
</bubble>

在线演示:

  1. 普通气泡
  2. 自定义气泡方向
  3. 不被关闭的气泡

notice

通知消息指令

示例

<notice ng-if="notice.open" duration="2000" close="notice.open=false">
    hello world
</notice>

在线演示:

  1. 普通通知浮层
  2. 模态通知浮层

popup

透明浮层指令

无任何样式,可以用来制作自定义形状的浮层

示例

<popup ng-if="popup.open" close="popup.open=false">
    <div class="mod-popup-example">hello world</div>
</popup>

在线演示:

  1. 自定义浮层
  2. 创建右键菜单

服务

若想在 js 代码中调用浮层相关控件,可以使用 Popup 服务。

方法

  • Popup.alert(content, ok)
  • Popup.confirm(content, ok, cancel)
  • Popup.notice(content, duration, ok);

Popup 服务仅支持文本消息,HTML 内容请使用指令

配置

配置默认的标题以及按钮文案

app.config(function (PopupProvider) {
    PopupProvider.title = '提示';
    PopupProvider.okValue = '确定';
    PopupProvider.cancelValue = '取消';
});

示例

app.controller('testCtrl', function($scope, Popup) {
    Popup.alert('hello world', function () {
        console.log('ok');
    });
});

在线演示:

  1. 在控制器中使用 Popup 服务

兼容性

  • Chrome
  • Firefox
  • IE9+

更新日志

CHANGELOG.md

许可

MIT


支付宝二维码

喜欢这个项目?捐助一杯咖啡支持下(¥28)

More Repositories

1

art-template

High performance JavaScript templating engine
JavaScript
9,851
star
2

font-spider

Smart webfont compression and format conversion tool
JavaScript
5,005
star
3

artDialog

经典的网页对话框组件
JavaScript
3,133
star
4

tmodjs

前端模板外置解决方案
JavaScript
665
star
5

pinyin-engine

JavaScript 拼音匹配引擎
HTML
471
star
6

gulp-font-spider

字蛛 gulp 插件
JavaScript
189
star
7

popupjs

W3C HTML5 Dialog Plus
JavaScript
112
star
8

art-template-loader

art-template loader for webpack
JavaScript
106
star
9

node2bat

基于JScript的迷你NodeJS运行时
Shell
57
star
10

angular-drag

基于Angularjs的拖拽指令
HTML
55
star
11

browser-x

一个基于 NodeJS 实现的虚拟浏览器
JavaScript
49
star
12

jsonp-sandbox

jsonp sandbox
JavaScript
49
star
13

express-art-template

art-template for express
JavaScript
44
star
14

koa-art-template

a koa view render middleware, support all feature of art-template
JavaScript
41
star
15

grunt-font-spider

字蛛 grunt 插件
JavaScript
35
star
16

include-file

HTML 静态文件局部模板批量更新工具
HTML
23
star
17

blog

18
star
18

art-template-docs

art-template document
JavaScript
12
star
19

grunt-unwrap

将 CMD 模块转换成不依赖加载器的工具
JavaScript
9
star
20

vs-code-github-markdown-theme

vs code: markdown theme
CSS
7
star
21

koa-gitlab

simple gitlab auth middleware for koa
JavaScript
4
star
22

devtools-watcher

DevTools Watcher
HTML
3
star
23

sublime-art

art-template syntax definition for Sublime Text 3
3
star
24

file-cache-webpack-plugin

Webpack plugin that persists the compiler cache to the file system
JavaScript
2
star
25

free-fonts

收录字蛛可以压缩并且免费的字体
2
star
26

amd-to-commonjs

JavaScript
1
star
27

ISPAdBlock

ISP 广告拦截器
1
star
28

hexo-renderer-art

art-template renderer for Hexo
JavaScript
1
star