一 : 基于bootstrap的上传插件fileinput实现ajax异步上传功能(支持多文件上传预览拖拽)
首先需要导入一些js和css文件
<link href="__PUBLIC__/CSS/bootstrap.css" rel="external nofollow" rel="stylesheet"> <link type="text/css" rel="stylesheet" href="__PUBLIC__/CSS/fileinput.css" rel="external nofollow" /> <script type="text/javascript" src="__PUBLIC__/JS/bootstrap.min.js"></script> <script type="text/javascript" src="__PUBLIC__/JS/jquery.min.js"></script> <script type="text/javascript" src="__PUBLIC__/JS/fileinput.js"></script> <script type="text/javascript" src="__PUBLIC__/JS/fileinput_locale_zh.js"></script>//中文包,不需要可以不用导入
html代码
<form enctype="multipart/form-data"> <input id="file-1" name="file" type="file" multiple class="file" data-overwrite-initial="false" data-min-file-count="1"/> </form>
js代码
$("#file-1").fileinput({ uploadUrl: '', // 必须设置个路径进入php代码部分 allowedFileExtensions : ['jpg', 'png','gif','txt','zip','ico','jpeg','js','css','java','mp3','mp4','doc','docx'],//允许的文件类型 overwriteInitial: false, maxFileSize: 1500,//文件的最大大小 单位是k maxFilesNum: 10,//最多文件数量 // allowedFileTypes: ['image', 'video', 'flash'], slugCallback: function(filename) { return filename; } });
php代码
$file=$_FILES['file'];//获取上称文件的信息,数组形式 $date['file_name'] = $file['name'];//文件的名称 $date['file_size'] = $file['size'];//文件的大小 $date['file_type'] = $file['type'];//文件的类型
然后进行上传,用ajax返回一个错误信息或者成功信息
直接用echo返回也行。
样式:
以上所述是小编给大家介绍的基于bootstrap的上传插件fileinput 的ajax异步上传功能(支持多文件上传预览拖拽),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对61阅读网站的支持!
二 : 拖拽的应用(Drag)
拖拽(Drag)是交互式中很重要的一种,本文将讲解拖拽的使用方法。[www.61k.com)
1. drag的定义
D3中可用 d3.behavior.drag() 来定义 drag 行为。
JavaScript
var drag = d3.behavior.drag().on("drag", dragmove); function dragmove(d) {d3.select(this) .attr("cx", d.cx = d3.event.x ) .attr("cy", d.cy = d3.event.y );}
第 2 行表示当 drag 事件发生后即调用 dragmove 函数。除了 drag 事件之外,还有 dragstart 和 dragend 事件,这一点在【进阶 – 第 2.1 章】中有过类似的叙述。
dragmove()里,出现了 d3.event.x 和 d3.event.y 两个变量,这是当前鼠标的位置。我们后面将绘制圆,这里的意思是把圆重新绘制到当前鼠标所在处。
2. 绘制圆
绘制圆的方法相信大家都很熟悉了。最后在圆的选择集中使用 call 函数,调用刚才定义的 drag 行为即可。call函数我们前面说过,即将选择集自身作为参数,传递给 drag 函数。
JavaScript
var circles = [ { cx: 150, cy:200, r:30 },{ cx: 250, cy:200, r:30 },];var svg = d3.select("body").append("svg").attr("width",width).attr("height",height);svg.selectAll("circle").data(circles).enter().append("circle").attr("cx",function(d){ return d.cx; }).attr("cy",function(d){ return d.cy; }).attr("r",function(d){ return d.r; }).attr("fill","black").call(drag); //这里是刚才定义的drag行为
3. 结果
结果如下,拖拽试试:
源代码单击以下链接后查看:
谢谢阅读。
文档信息
三 : HTML5 拖拽复制功能的实现
拖拽是一种常见的特性,即抓取对象以后拖到另一个位置。 在 HTML5 中,拖拽是标准的一部分,任何元素都能够拖拽。 Html5拖拽非常常见的一个功能,但是大部分拖拽的案例都是一个剪切的过程, 项目中需要实现Html5拖拽复制的功能,Html5拖拽复制很简单,只需要在普通Html5拖拽的过程中做一点小小的改动即可。
ps: 本篇博文为非首页文章,只是简单的笔记。
浏览器支持
v1.0代码部分
<!DOCTYPE html> <html> <head> <styletype="text/css"> #div1 { width: 700px; height: 120px; padding: 10px; border: 1px solid #aaaaaa; } #drag1 { cursor:pointer; } </style> <scripttype="text/javascript"> function allowDrop(ev) { ev.preventDefault(); } function drag(ev) { ev.dataTransfer.setData("Text", ev.target.id); } function drop(ev) { ev.preventDefault(); var data = ev.dataTransfer.getData("Text"); var item = document.getElementById(data).cloneNode(); ev.target.appendChild(item); } </script> </head> <body> <p>请把 Windows Azure 的图片拖放到矩形中:</p> <divid="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div> <br/> <br/> <br/> <br/> <br/> <imgid="drag1" src="http://www.cnblogs.com/images/cnblogs_com/toutou/699740/t_Azure.png" draggable="true" ondragstart="drag(event)"/> </body> </html>
代码解析
实现思路就是克隆被拖拽的元素,然后把克隆元素appendChild()到指定位置
实现Html5拖拽复制的核心代码.cloneNode()
Html5拖拽复制完成以后,其实还有很多事情可以在appendChild()执行以后完成,这个看具体需求吧
如果只是想实现传统的HTML5拖拽的话,移除var item = document.getElementById(data).cloneNode();,然后ev.target.appendChild(data);即可
通过此文,希望能帮助到大家,谢谢大家对本站的支持!
本文标题:qt拖拽功能-基于bootstrap的上传插件fileinput实现ajax异步上传功能(支持多文件上传预览拖拽)61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1