【问题标题】:jQueryUI Sortable + HTML5 File API examples? [closed]jQueryUI 可排序 + HTML5 文件 API 示例? [关闭]
【发布时间】:2012-05-09 23:57:29
【问题描述】:

有谁知道将 jQueryUI:Sortable: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 ?

【问题讨论】:

    标签: jquery html jquery-ui jquery-ui-sortable fileapi


    【解决方案1】:

    为图片创建一个占位符:

    <ul id="sortable"></ul>
    

    将 sortable 绑定到占位符:

    $( "#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

    【讨论】:

      猜你喜欢
      • 2010-11-13
      • 2011-06-10
      • 1970-01-01
      • 1970-01-01
      • 2011-05-30
      • 1970-01-01
      • 2017-11-15
      • 1970-01-01
      相关资源
      最近更新 更多