3

fineUploaderを使用しようとしていますが、問題が発生しています。問題は、私がjQueryにあまり精通していないためです。したがって、これがばかげた質問である場合は、お詫び申し上げます。

以下は私のコードです。fineUploaderに正常にロードされた各行をフェードアウトして、アップロードの最後に表示されるのは元のアップロードボタンまたは失敗したアップロードだけになるようにします。1000個のファイルをアップロードすると、非常に粘着性があります。アップロードされた画像ごとに1000行の緑色のボックスがあります。Uploadifyの動作が気に入っていますが、最後にそのようにアップロードされると、各行はゆっくりとフェードアウトしますが、アップロードされた画像の行はありません。誰かが私のために解決策を提案できますか?ありがとう!

This is the container which jQuery loads each success or failed row into...
<ul id="basicUploadFailureExample" class="unstyled"></ul>

$(document).ready(function() {
var errorHandler = function(event, id, fileName, reason) {
    qq.log("id: " + id + ", fileName: " + fileName + ", reason: " + reason);
};

var uploader3 = new qq.FineUploader({
    element: $('#basicUploadFailureExample')[0],
    callbacks: {
        onError: errorHandler,
        onComplete: function(id, fileName, responseJSON) {
            if (responseJSON.success == true) {
                            // I would think the fade out would go here but I am just not sure... 
            } 
        }
    },
    request: {
        endpoint: "../server/php/example.php",
        params: {"generateError": true}
    },
    failedUploadTextDisplay: {
        mode: 'custom',
        maxChars: 5
    }
}); 

});

4

1 に答える 1

4

実際、これはかなり簡単に実行できます。正しい考えがあれば、重要なAPI関数が欠落しているだけです。

コードは次のようになります(1行だけ追加/変更する必要があります):

var uploader3 = new qq.FineUploader({
    element: $('#basicUploadFailureExample')[0],
    callbacks: {
        onError: errorHandler,
        onComplete: function(id, fileName, responseJSON) {
            if (responseJSON.success == true) {
               $(this.getItemByFileId(id)).hide('slow');
            } 
        }
    },
    request: {
        endpoint: "../server/php/example.php",
        params: {"generateError": true}
    },
    failedUploadTextDisplay: {
        mode: 'custom',
        maxChars: 5
    }
}); 

onCompleteハンドラーに追加した1行でgetItemByFileId関数が呼び出され、UIに表示されるファイルの詳細を含む要素が返されます。単に非表示にするか、他のアニメーションを実行して最終的に非表示にします。

ところで、これはクールなアイデアだと思います(失敗したアップロードを除くすべてをフェードアウトします)。

于 2013-03-10T04:49:13.910 に答える