Content Table

Lean Modal

LeanModal 是一个用于创建模式对话框的超级简单 jQuery插件。可以展示隐藏的页面内容,整个插件大小只有不到 1K,可灵活变化高度和宽度,没有用到任何图片,支持在一个页面中创建多个实例,非常适合于创建:登录框,注册框,警告对话框等。

使用步骤

  1. 将 jQuery,jquery.leanModal.min.js 添加页面

    1
    2
    <script src="jquery.js" charset="utf-8"></script>
    <script src="jquery.leanModal.min.js" charset="utf-8"></script>
  2. 定义对话框的 Element

    1
    2
    3
    4
    5
    6
    <div id="dialog-1">
    <p>LeanModal是一个用于创建模式对话框的超级简单JQuery插件。可以展示隐藏的页面内容,整个插件大小只有780bytes,
    可灵活变化高度和宽度,没有用到任何图片,支持在一个页面中创建多个实例,非常适合于创建:登录框,
    注册框,警告对话框等。最重要的是界面非常干净UI设计很不错。
    </p>
    </div>
  3. 定义点击弹出对话框的触发器,例如 <a> 或者 <button>

    1
    <a id="modal-trigger" href="#dialog-1">显示对话框</a>

    LeanModal 的触发器必须有 href 属性,其值为对话框的 id

  4. 初始化 LeanModal

    1
    $('#modal-trigger').leanModal();
  5. 如果需要显示半透明的 Mask 层,给 #lean_overlay 定义 CSS 样式,这个 Mask 是自动生成的,摘自源码

    1
    2
    var overlay=$("<div id='lean_overlay'></div>");
    $("body").append(overlay);
  6. 关闭有 Mask 层的 Lean Modal

    1
    $("#lean_overlay").click();

完整例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8">
<title>Lean Modal</title>
<script src="jquery.js" charset="utf-8"></script>
<script src="jquery.leanModal.min.js" charset="utf-8"></script>
<style media="screen">
#dialog-1, #dialog-2 {
z-index:1000;
display: none;
background: white;
border: solid 1px gray;
border-radius: 8px;
box-shadow: 2px 2px 8px #444;
padding: 5px 10px;
width: 400px;
height: 200px;
overflow: scroll;
}

/* lean_overlay 是自动生成的 */
#lean_overlay {
position: fixed;
z-index: 100;
top: 0px;
left: 0px;
height:100%;
width:100%;
background: #000;
opacity: 0.4;
display: none;
}
</style>
</head>

<body>
<!-- 显示对话框的链接 -->
<a href="#dialog-1">显示对话框</a>
<!-- 显示对话框的按钮 -->
<button href="#dialog-2">显示对话框</button>

<!-- 对话框 -->
<div id="dialog-1">
<p>LeanModal是一个用于创建模式对话框的超级简单JQuery插件。可以展示隐藏的页面内容,整个插件大小只有780bytes,
可灵活变化高度和宽度,没有用到任何图片,支持在一个页面中创建多个实例,非常适合于创建:登录框,
注册框,警告对话框等。最重要的是界面非常干净UI设计很不错。
</p>
</div>

<!-- 对话框 -->
<div id="dialog-2">
<p>You can define new user types in QStandardItem subclasses to ensure that custom items are treated specially; for example, when items are sorted.
</p>
</div>

<script>
$(document).ready(function() {
$('a, button').leanModal();
});
</script>
</body>

</html>

参考资料