2016-09-09 17 views
0

ユーザが複数のファイルを一度に選択するタイミングを知る必要があります。問題は、Dropzoneにはaddedmultipleというイベントがありません。複数のファイルを選択するDropzoneイベント

背景

私は遅れて個々のファイルをアニメーションにしたいので、彼らが次々と表示されます。このために私が選択されているどのように多くのファイルを知っているためにしなければならないので、私のような何かを行うことができます。私は、ファイルをカウントするaddedfileイベントと連動してグローバル変数を追加し、リセットするためにタイムアウトを設定することができ

dz.on('addedmultiple', function(files){ 
    files.forEach(function(file, index){ 
     var fileBox = $(file.previewElement).hide(); 

     setTimeout(function(){ 
      fileBox.fadeIn('fast'); 
     }, index * 100); 
    }); 
}); 

をその変数。しかし、これはとても良い気分にはなりません。とにかく、どんなアイデアも高く評価されます。

答えて

0

ハハハに質問した直後に答えが見つかりました。

Dropzoneには文書化されていないイベントselectedfilesがあります。だから、私のアプローチは次のように終わりました:

dz.on('selectedfiles', function(files){ 
    $(files).each(function(index){ 
     this.delay = index * 100; 
    }); 
}); 

dz.on('addedfile', function(file){ 
    var fileBox = $(file.previewElement).hide(); 

    setTimeout(function(){ 
     fileBox.fadeIn('fast'); 
    }, file.delay); 
}); 

これは、同じ必要性を持つ他の人の助けとなります。

+0

現在のバージョン(2017/01現在)には、「addedfiles」というイベントがあります。これは必要な作業を正確に行います:ファイルダイアログのファイル選択ごとに1回発生しますまたは複数)。 – Marcovecchio

関連する問題