0

サイトでの非同期アップロードに Kendoui アップロードを使用しています。

私が持っている小さな機能は、画像のアップロードが完了すると、小さなサムネイルが作成され、ページにプレビューが表示されることです。

...
success: function(e)
{
    if(e.operation == 'upload')
    {
        $('#previews').append('<img src="'+ROOT+'cakes/'+e.files[0].name+'"/>');
    }
    else if(e.operation == 'remove')
    {
        $('#previews img[src="'+ROOT+'cakes/'+e.files[0].name+'"]').remove();
    }
...

ご覧のとおり、私は img src 属性と照合していますが、これは遅くて非効率的かもしれません。私が試みていることを達成するためのより良い方法はありますか?

4

1 に答える 1

0

まず、現在のコードが機能している場合、実際にパフォーマンスの問題がない限り、変更する必要はありません。最近のコンピューター/電話は非常に高速であるため、実際にパフォーマンスの問題が発生した場合にのみ、パフォーマンスの問題に時間を費やすべきです. そうしないと、他の方法でアプリやページを改善することに時間を費やすことができます。

そうは言っても、ID で何かを検索することは、他のほとんどの方法で検索するよりもはるかに高速です (そして、のような属性で検索するよりも確かに高速ですsrc。このようにファイル名から一意の ID を作成し、作成時に画像に割り当てることができます)。それを使用して、削除する画像を見つけます。

success: function(e)
{
    var name = "img_" + e.files[0].name.replace(/[.\/ ]/, "_"); 
    if (e.operation == 'upload')
    {
        $('#previews').append('<img id="' + name + '" src="'+ROOT+'cakes/'+e.files[0].name+'"/>');
    }
    else if(e.operation == 'remove')
    {
        $('#' + name).remove();
    }
...
于 2014-01-25T18:04:47.737 に答える