jQueryUI Sortable + HTML5 File API examples?



有谁知道有什么好的例子将jQueryUI:Sortable:display-grid与HTML5文件API相结合,以显示将多个本地图像同时放入浏览器中,然后所有这些图像都显示在显示网格中?

裁判:

http://jqueryui.com/demos/sortable/#display-grid
http://html5demos.com/file-api当用户使用 HTML5 文件 API 按下按钮时,如何读取本地文件?

为图像创建一个占位符:

<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);
            }   
        }
    }
);

最后但并非最不重要的一点是,编写文件 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/

学分:https://www.ibm.com/developerworks/mydeveloperworks/blogs/bobleah/entry/html5_code_example_of_file_api_drag_drop_hard_drive_files_to_a_webpage28?lang=en

最新更新