700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Bootstrap插件(一)——模态框(modal.js)

Bootstrap插件(一)——模态框(modal.js)

时间:2018-08-12 00:31:45

相关推荐

Bootstrap插件(一)——模态框(modal.js)

前言:这一片文章我们将对bootstrap的modal模态框进行学习,学习他是如何绑定到一个按钮上去点击显示,学习模态框的简单数据配置,学习模态框的使用方式,事件,方法、参数等;下面是modal的内容总结。

目录:

1.模态框的大小以及动画效果禁用

2.通过button传递内容给绑定的modal

3.模态框的调用方法

4.模态框的一些配置参数以及作用

5.模态框的一些方法

6.模态框的事件监听

1.模态框的大小以及动画效果禁用

模态框的大小用modal-lg和modal-sm属性去设置,而动画的限制我们需要不使用fade类,接下来还是使用一个示例,在实践中去理解,敲一遍什么都懂了。 示例代码:

1

<!DOCTYPE html>

2

<html>

3

<head lang="en">

4

<meta charset="UTF-8">

5

<title>组件</title>

6

<!--引入bootstrap样式文件-->

7

<link href="css/bootstrap.min.css" rel="stylesheet">

8

<!--引入jq(必须在bootstrap.min.js文件之前)-->

9

<script type="application/javascript" src="js/jquery-3.2.0.js"></script>

10

<!--引入bootstrap js-->

11

<script type="application/javascript" src="js/bootstrap.min.js"></script>

12

13

</head>

14

<body style="margin: 60px">

15

16

<!--大模态框

17

注意:(1)下面是通过data属性将button和modal绑定的,后面会学习js调用modal

18

(2) 通过 data-target 绑定modal注意里面需要加 .号

19

-->

20

<button type="button" class="btn btn-danger" data-toggle="modal" data-target=".ex-modal-lg">大模态框</button>

21

22

<div class="modal fade ex-modal-lg" tabindex="-1" role="dialog" aria-labelledby="largerModal">

23

<div class="modal-dialog modal-lg" role="document">

24

<div class="modal-content">

25

<div class="modal-header">larger modal header</div>

26

<div class="modal-body">

27

<img src="img/img.jpg" style="padding: 5px;">

28

larger modal body</div>

29

<div class="modal-footer">larger modal footer</div>

30

</div>

31

</div>

32

</div>

33

34

<!--小模态框-->

35

<button type="button" class="btn btn-primary" data-toggle="modal" data-target=".ex-modal-sm">小模态框</button>

36

37

<div class="modal ex-modal-sm" tabindex="-1" role="dialog" aria-labelledby="smallmodal">

38

<div class="modal-dialog modal-sm" role="document">

39

40

<div class="modal-content">

41

42

<div class="modal-header">small modal header</div>

43

<div class="modal-body">

44

<img src="img/img.jpg" style="padding: 5px;">

45

<br/>

46

small modal body</div>

47

<div class="modal-footer">small modal footer</div>

48

</div>

49

50

</div>

51

</div>

52

53

</body>

54

</html>

效果截图:

2.通过button传递内容给绑定的modal 这个没什么好描述的,主要是js部分代码,请仔细看,直接上代码

1

<!DOCTYPE html>

2

<html>

3

<head lang="en">

4

<meta charset="UTF-8">

5

<title>组件</title>

6

<!--引入bootstrap样式文件-->

7

<link href="css/bootstrap.min.css" rel="stylesheet">

8

<!--引入jq(必须在bootstrap.min.js文件之前)-->

9

<script type="application/javascript" src="js/jquery-3.2.0.js"></script>

10

<!--引入bootstrap js-->

11

<script type="application/javascript" src="js/bootstrap.min.js"></script>

12

</head>

13

<body style="margin: 60px">

14

15

<!--按钮传递参数并modal

16

注意:(1)下面是通过data属性将button和modal绑定的,后面会学习js调用modal

17

(2)依然是 data-target 绑定modal使用了css的选择器的语法可以使用 .号选择类和 #选择id

18

(3) data-dismiss="modal"设置隐藏modal

19

-->

20

<button data-whatever="87771" type="button" class="btn btn-danger" data-toggle="modal" data-target="#qqModal">qq邮箱modal</button>

21

22

<div id="qqModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="largerModal">

23

<div class="modal-dialog modal-sm" role="document">

24

<div class="modal-content">

25

<div class="modal-header">输入qq邮箱</div>

26

<div class="modal-body">

27

28

<div class="input-group">

29

<input type="text" class="form-control" id="recipient-name">

30

<span class="input-group-addon" id="basic-addon1">@</span>

31

</div>

32

<div class="modal-footer">

33

<button type="button" class="btn btn-default" data-dismiss="modal">取消</button>

34

<button type="button" class="btn btn-primary">确定</button>

35

</div>

36

</div>

37

</div>

38

</div>

39

</div>

40

</body>

41

</html>

42

43

<script type="text/javascript">

44

45

$('#qqModal').on('show.bs.modal', function (event) {

46

47

//获取到触发modal的button

48

var button = $(event.relatedTarget);

49

50

//获取button的传入值

51

var recipient = button.data('whatever');

52

53

console.log(recipient);

54

55

//获取当前显示的modal

56

var modal = $(this);

57

58

//设置获取的值到输入框

59

modal.find('.modal-body .input-group input').val(recipient)

60

})

61

</script>

效果截图

已经将默认的qq传递给了modal。

3.模态框的调用方法

3.1)data属性调用有下面两种

1

<!--(1)通过data-toggle="modal" data-target="#qqModal"启动 id为qqModal的modal-->

2

<button type="button" class="btn btn-danger" data-toggle="modal" data-target="#qqModal">data-target调用modal框</button>-->

3

<!--(2)通过data-toggle="modal" href="#qqModal"启动 id为qqModal的modal-->

4

<button type="button" class="btn btn-danger" data-toggle="modal" href="#qqModal">data href调用modal框</button>

3.2)js调用显示modal框

1

<script type="text/javascript">

2

3

/*可以简单配置一些属性*/

4

$('#qqModal').modal({

5

backdrop:'static',

6

keyboard:false,

7

show:true

8

})

9

</script>

4.模态框的一些配置参数以及作用 其实上面3.2就配置了这些基本的属性,那作用是啥呢?看下面的总结表。5.模态框的一些方法

1

$('#wangModal').modal({});//可以传递一些配置参数,上面的示例代码有,可以看看

2

$('#wangModal').modal('toggle');//手动切换modal框

3

$('#wangModal').modal('show');//手动显示modal

4

$('#wangModal').modal('hide');//手动隐藏modal

还没有了解为什么多了这么多个方法,还不清楚他们各自的应用场景,先不提。

6.模态框的事件监听

事件监听我们直接来一个代码示例,从代码来体会。

先来看效果截图:

示例代码:

1

<!DOCTYPE html>

2

<html>

3

<head lang="en">

4

<meta charset="UTF-8">

5

<title>组件</title>

6

<!--引入bootstrap样式文件-->

7

<link href="css/bootstrap.min.css" rel="stylesheet">

8

<!--引入jq(必须在bootstrap.min.js文件之前)-->

9

<script type="application/javascript" src="js/jquery-3.2.0.js"></script>

10

<!--引入bootstrap js-->

11

<script type="application/javascript" src="js/bootstrap.min.js"></script>

12

</head>

13

<body style="margin: 60px">

14

15

<button class="btn bg-info show-modal">点我</button>

16

<div id="wangModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="largerModal">

17

<div class="modal-dialog modal-sm" role="document">

18

<div class="modal-content">

19

<div class="modal-header">隔壁老王给你打招呼</div>

20

<div class="modal-body">

21

22

<span>程序猿哥哥,你好,我是你隔壁的老王,嫂子在家吗?</span>

23

<div class="modal-footer">

24

<button type="button" class="btn btn-default" data-dismiss="modal">不在</button>

25

<button type="button" class="btn btn-primary">在</button>

26

</div>

27

</div>

28

</div>

29

</div>

30

</div>

31

</body>

32

</html>

33

34

<script type="text/javascript">

35

36

$(function(){

37

38

$(".show-modal").click(function(){

39

$('#wangModal').modal({});

40

/* $('#wangModal').modal('toggle');

41

$('#wangModal').modal('show');

42

$('#wangModal').modal('hide');*/

43

});

44

45

$('#wangModal').on('show.bs.modal',function(e){

46

alert("你确定要看吗?")

47

});

48

49

$('#wangModal').on('shown.bs.modal',function(e){

50

alert("好吧给你看,你可别打我!")

51

});

52

53

$('#wangModal').on('hide.bs.modal',function(e){

54

alert("不看啦?")

55

});

56

57

$('#wangModal').on('hidden.bs.modal',function(e){

58

alert("好吧没了")

59

});

60

61

//从远端获取数据时触发

62

$('#wangModal').on('loaded.bs.modal',function(e){

63

console.log("用不上");

64

});

65

});

66

</script>

好的,bootstrap模态框就学习到这里。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。