您好!欢迎进入紫石头原创模板堂!
网站首页 | 购买流程 | 关于我们 |  联系方式 |  客服热线:0371-56789-390
当前位置:首页 >> 建站知识 >> 详情
扫二维码关注紫石头原创模板堂 4大优势
  • NO.1

    模板类网站比起独立设计的网站来讲价格低的多,因为很多东西是已经做成的,成本就低很多!

  • NO.2

    开源模板网站,任意修改使用!服务好到没话说!模板建站经常被贴上服务差的标签,而紫石头完全打破这样的格局!

  • NO.3

    模板网站也有正规军!我们做的模板网站有永易搜CMS终身使用授权,正版系统、无惧侵权!

  • NO.4

    建站速度快,购买后简单修改即可投入使用。设计型网站正常需要10~20个工作日,而模板站只需要几个小时!

建站咨询电话
0371-56789-390

html5实现页面的拖拽操作
发表:紫石头原创模板堂    发表时间:2019-11-19 10:08:53    阅读:106
    今天我们来了解一下html5的元素拖拽操作。html5新增了元素的拖拽属性——draggable,表示是否允许拖拽。然后结合JS,我们就可以很轻松地实现元素的拖拽操作了。一起来看看吧。
    第一步:创建拖拽对象,并给需要拖拽的元素设置draggable属性;
    第二步:处理拖拽事件:
    当我们拖拽对象的时候会触发拖拽事件包括:
    dragstart:     当元素拖拽开始触发;
    drag:              在元素拖拽过程中触发;
    dragend:       元素拖拽结束时触发。
    第三步:创建投放区:
    1:当拖拽对象进入投放区的时候会触发相关的事件
    dragenter:    当拖拽对象进入投放区时触发;
    dragover:     拖拽对象在投放区内移动时触发;
    dragleave:    拖拽对象没有投放到投放区,离开投放区的时候触发;
    drop:             拖拽对象投放在投放区时触发。
    2:注意:dragenter、dragover可能会受到默认事件的影响,所以我们在这两个事件当中使用e.preventDefault();来阻止事件默认事件
    第四步:使用dataTransfer传递数据:
    【火狐浏览器必须给拖拽对象添加这个,具体看下面的例子】
    当我们需要拖拽对象向投放区传递数据的时候用到
    dataTransfer有下面的属性和方法:
    types: 返回数据的格式;
    getData(<format>): 返回指定格式数据;
    setData(<format>, <data>):设置指定格式数据;
    clearData(<format>): 移除指定格式数据;
    files: 返回已经投放的文件的信息数组。
    type:文件类型;
    size::文件大小;
    name:文件名;

    案例: 【如下 效果图, 把文字区拖拽 到 投放区】

    html5学习记录(3):html5实现页面的拖拽操作
    <div id='div1'></div>
    <ul id='div2'>
    <li>PHP教程</li>
    <li>LINUX教程</li>
    </ul>
    <script type="text/javascript">
    var div = document.getElementById('div1');
    var ul = document.getElementById('div2');
    var lis = document.getElementsByTagName('li');
    for(var i=0; i<lis.length; i++){
    lis[i].draggable=true;              给每一个li元素添加 draggable属性
    lis[i].flag = false;             设置一个标识,下面拖到投放区时用来判断
    lis[i].ondragstart=function(e){          开始拖拽事件
    e.dataTransfer.setData('text','gaga');          【火狐浏览器必须加这句】
    this.flag=true;
    }
    lis[i].ondragend=function(e){              结束拖拽事件
    this.flag=false;
    return false;
    }
    }
    div.ondragenter=function(e){     return false;             当拖拽对象进入投放区时触发
    div.ondragover=function(e){          return false;    }       拖拽对象在投放区内移动时触发
    div.ondragleave=function(e){        return false;    }        离开投放区事件
    div.ondrop=function(e){             拖拽对象投放在投放区时触发
    for(var i=0; i<lis.length; i++){
    if( lis[i].flag==true ){
    div.appendChild(lis[i])
    }
    }
    return false;
    }
    </script>

本文作者:紫石头原创模板堂

十六年网站建设相关经验
一站式为您提供网站相关服务

欢迎扫码咨询

模板推荐
  • 律师网站类模版
    律师网站类模版/原创、SEO细节调优、多业通用好模板
    简洁大方、利于SEO、多行通用
    ¥3200元
  • 搜易支付类网站模板
    搜易支付类网站模板/界面简洁、多行业通用、易于SEO
    专业设计、高端大气、适合多个行业
    ¥3200元
  • 商场小程序模版
    版式精美,源码原创,简单易用
    功能源码可修改,可定制功能
    ¥2600元
  • 黑色过审单页
    源码原创/易于SEO/适于多行业
    源码原创,适用于网站过审
    ¥1700元
  • 清新大气饮料模板
    源码原创/易于SEO/适于多行业
    清新饮料模板,源码原创,使用范围广
    ¥3200元
  • 证书查询系统模板
    源码原创/简单易用/适于多行业
    证书查询功能,简单易用,源码可修改
    ¥3200元
工作时间:周一至周五(08:30~18:00)
Copyright ©2003-2024 zishitou.com All Rights Reserved 永易搜旗下紫石头原创模板堂 版权所有 豫ICP备14011598号-7 营业执照