这篇文章主要介绍了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在线运行测试效果如下:
相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!
推荐阅读:
JavaScript callback回调函数使用案例详解
使用React Navigation注意事项有哪些
以上就是JS实现文件拖拽上传步骤详解的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2759274.html