H5的拖放功能详解


当前第2页 返回上一页

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

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Drag & Drop</title>

<style type="text/css">

.box {

    display: inline-block;

    width: 100px;

    height: 100px;

    border: 1px solid #ccccff;

    background-color: #ccccff;

    text-align: center;

    line-height: 100px;

}

.bin {

    width: 200px;

    height: 200px;

    padding: 10px;

    border: 1px solid #ccccff;

    overflow: hidden;

    float: left;

}

</style>

</head>

<body>

    <p style="display: table;">

        <p class="bin">

            <p class="box" draggable="true">可拖拽元素</p>

        </p>

        <p class="bin">&nbsp;</p>

    </p>

    <script type="text/javascript">

        var bins = document.querySelectorAll('.bin');

        var boxs = document.querySelectorAll('.box');

        var drag = null;

        for (var i = 0; i < boxs.length; i++) {

            var box = boxs[i];

            box.onselectstart = function() {

                return false;

            };

            box.ondragstart = function(e) {

                e.dataTransfer.effectAllowed = 'move';

                e.dataTransfer.setData('text/plain', e.target.outerHTML);

                e.dataTransfer.setDragImage(e.target, 0, 0);

                drag = this;

                return true;

            };

            box.ondragend = function(e) {

                drag = null;

                return false

            };

        }

        for (var i = 0; i < bins.length; i++) {

            var bin = bins[i];

            //当拖曳元素进入目标元素

            bin.ondragover = function(e) {

                e.preentDefault();

                return true;

            };

            //拖拽元素在目标元素上移动

            bin.ondragenter = function(e) {

                this.style.backgroundColor = '#eeeeff';

                return true;

            };

            //拖拽元素在目标元素上离开

            bin.ondragleave = function(e) {

                this.style.backgroundColor = '#fff';

                return true;

            };

            //拖拽的元素在目标元素上同时鼠标放开

            bin.ondrop = function(e) {

                if (drag) {

                    drag.parentNode.removeChild(drag);

                    this.appendChild(drag);

                }

                this.style.backgroundColor = '#fff';

                return false;

            };

        }

        document.body.ondrop = function(e) {

            e.preventDefault();

            e.stopPropagation();

        }

    </script>

</body>

</html>

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

H5合成海报详解

Drag事件编辑器实现拖拽上传图片效果

以上就是H5的拖放功能详解的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

通过HTML5的getusermedia实现拍照功能示例

详细介绍HTML5中的跨文档消息传递

h5的新增标签和废弃标签

HTML5内联svg教程以及与canvas的区别

服务端主动发送数据回客户端在h5里的实现步奏

HTML5开发手机打电话发短信功能代码实例分享

h5中meta标签及作用

HTML5通过api实现拖放排序的实例教程

深入了解HTML5之sessionstorage对象

什么是 HTML5

更多相关阅读请进入《HTML5》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...