有没有人知道任何结合了jQueryUI的好示例:可排序:display-grid与HTML5 File API一起显示将多个本地图像同时丢入浏览器,然后所有这些图像都显示在显示器中格?
价:
http://jqueryui.com/demos/sortable/#display-grid
http://html5demos.com/file-api
How can I read a local file when the user presses a button using the HTML5 File API ?
答案 0 :(得分:2)
为图片创建占位符:
<ul id="sortable"></ul>
可绑定到占位符:
$( "#sortable" ).sortable();
$( "#sortable" ).disableSelection();
将ondrop函数绑定到占位符:
$('#sortable').on(
'drop',
function(e){
if(e.originalEvent.dataTransfer){
if(e.originalEvent.dataTransfer.files.length) {
e.preventDefault();
e.stopPropagation();
upload(e.originalEvent.dataTransfer.files);
}
}
}
);
最后但并非最不重要的是,编写File API部分:
function upload(files){
for (var i = 0, f; f = files[i]; i++) {
var imageReader = new FileReader();
imageReader.onload = (function(aFile) {
return function(e) {
var li = document.createElement('li');
li.innerHTML = ['<img class="images" src="', e.target.result,'" title="', aFile.name, '"/>'].join('');
$('#sortable').append(li);
};
})(f);
imageReader.readAsDataURL(f);
}
查看行动中的完整代码: http://jsfiddle.net/xKYxL/2/