JS实现文件拖拽上传步骤详解

这篇文章主要介绍了JS实现的文件拖拽上传功能,涉及javascript事件触发、页面元素属性动态修改等相关操作技巧,需要的朋友可以参考下

本文实例讲述了JS实现的文件拖拽上传功能。分享给大家供大家参考,具体如下:

JS文件拖拽上传p{ width: 300px; height: 300px; border:1px dashed #000; position:absolute; top: 50%; left: 50%; margin:-150px 0 0 -150px; text-align:center; font:20px/300px '微软雅黑'; display:none;} window.onload = function () {  var oBox = document.getElementById('box');  var oM = document.getElementById('m1');  var timer = null;  document.ondragover = function(){   clearTimeout(timer);   timer = setTimeout(function(){    oBox.style.display = 'none';   },200);   oBox.style.display = 'block';  };  //进入子集的时候 会触发ondragover 频繁触发 不给ondrop机会  oBox.ondragenter = function(){   oBox.innerHTML = '请释放鼠标';  };  oBox.ondragover = function(){   return false;  };  oBox.ondragleave = function(){   oBox.innerHTML = '请将文件拖拽到此区域';  };  oBox.ondrop = function(ev){   var oFile = ev.dataTransfer.files[0];   var reader = new FileReader();   //读取成功   reader.onload = function(){    console.log(reader);   };   reader.onloadstart = function(){    alert('读取开始');   };   reader.onloadend = function(){    alert('读取结束');   };   reader.onabort = function(){    alert('中断');   };   reader.onerror = function(){    alert('读取失败');   };   reader.onprogress = function(ev){    var scale = ev.loaded/ev.total;    if(scale>=0.5){     alert(1);     reader.abort();    }    oM.value = scale*100;   };   reader.readAsDataURL(oFile,'base64');   return false;  }; }; 

请将文件拖拽到此区域

登录后复制

使用http://tools.jb51.net/code/HtmlJsRun在线运行测试效果如下:

JS实现文件拖拽上传步骤详解

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

JavaScript callback回调函数使用案例详解

使用React Navigation注意事项有哪些

以上就是JS实现文件拖拽上传步骤详解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2759274.html

(0)
上一篇 2025年3月8日 08:25:10
下一篇 2025年2月27日 16:42:01

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • JS实现碰撞检测步骤详解

    这次给大家带来JS实现碰撞检测步骤详解,JS实现碰撞检测的注意事项有哪些,下面就是实战案例,一起来看一下。 JS碰撞检测p{width:100px; height:100px;}#box{background:red; position:a…

    2025年3月8日
    200
  • JS实现json对象数组按对象属性排序步骤详解

    这次给大家带来JS实现json对象数组按对象属性排序步骤详解,JS实现json对象数组按对象属性排序的注意事项有哪些,下面就是实战案例,一起来看一下。 在实际工作经常会出现这样一个问题:后台返回一个数组中有i个json数据,需要我们根据js…

    2025年3月8日
    200
  • JS实现3des+base64加密解密算法步骤详解

    这次给大家带来JS实现3des+base64加密解密算法,JS实现3des+base64加密解密算法的注意事项有哪些,下面就是实战案例,一起来看一下。 1. index.html: BASE64编码 var str = “网址:http:/…

    2025年3月8日
    200
  • JS调用本地摄像头功能步骤详解

    这次给大家带来JS调用本地摄像头功能步骤详解,JS调用本地摄像头功能的注意事项有哪些,下面就是实战案例,一起来看一下。 今天学习了一下js调用本地摄像头,其实是实现不是很麻烦,下面是代码部分,连接上Tomcat服务器,然后再到网页上打开即可…

    编程技术 2025年3月8日
    200
  • JS累加、迭代、穷举、递归等常用算法使用总结

    这次给大家带来JS累加、迭代、穷举、递归等常用算法使用总结,JS累加、迭代、穷举、递归等常用算法使用的注意事项有哪些,下面就是实战案例,一起来看一下。 累加和累积 累加:将一系列的数据加到一个变量里面。最后的得到累加的结果 比如:将1到10…

    编程技术 2025年3月8日
    200
  • vue-cli引入、配置axios步骤详解

    这次给大家带来vue-cli引入、配置axios步骤详解,vue-cli引入、配置axios的注意事项有哪些,下面就是实战案例,一起来看一下。 一、npm 安装axios,文件根目录下安装,指令如下 npm install axios &#…

    编程技术 2025年3月8日
    200
  • JS计算圆周率到小数点后100位实现步骤详解

    这次给大家带来JS计算圆周率到小数点后100位实现步骤详解,JS计算圆周率到小数点后100位的注意事项有哪些,下面就是实战案例,一起来看一下。 浮点数的有效数位是16位,我自己做了一个大数类,能存储100位有效数位,并实现了大数类的基本运算…

    编程技术 2025年3月8日
    200
  • Vue.js实现微信公众号菜单编辑器步骤详解(上)

    这次给大家带来Vue.js实现微信公众号菜单编辑器步骤详解(上),Vue.js实现微信公众号菜单编辑器的注意事项有哪些,下面就是实战案例,一起来看一下。 学习一段时间Vue.js,于是想尝试着做一个像微信平台里那样的菜单编辑器,在这里分享下…

    2025年3月8日
    200
  • Vue.js实现微信公众号菜单编辑器步骤详解(下)

    这次给大家带来Vue.js实现微信公众号菜单编辑器步骤详解(下),Vue.js实现微信公众号菜单编辑器的注意事项有哪些,下面就是实战案例,一起来看一下。 实现菜单删除方法 在vue实例中添加删除菜单方法,根据选中的菜单级别和索引来删除。 m…

    2025年3月8日
    200
  • 使用vue.js实现编辑菜谱

    这次给大家带来使用vue.js实现编辑菜谱,使用vue.js实现编辑菜谱的注意事项有哪些,下面就是实战案例,一起来看一下。 1、先获取门店下的所有菜品类型、菜品名称、菜品id(list),也就是最大数据量 this.$http.post(c…

    2025年3月8日
    200

发表回复

登录后才能评论