Görüntü yoksa, başka birini nasıl kullanabilirim? ('#İd'). Attr ("src" kullanarak

Aug 18 2020

Oluşturmadığım bazı kodlardaki bir hatayı düzeltmeye çalışan bir C programcısıyım. Bir tablonun bir satırı tıklandığında, 'kare' kimliğine sahip resmi ayarlar

$('#square').attr("src","image/"+row.id+"_2_1.jpg");

Ancak, bazı resimler _3_1.jpg olarak adlandırılmıştır (benim kontrolümde değil) bu nedenle _2_ görüntüsünün var olup olmadığını kontrol etmek ve yoksa bir _3_ varyantı yüklemek istiyorum.

"Onerror" kullanmak işe yaramıyor gibi görünüyor ve bir IF deyimi eklemek tüm tablonun yüklenmesini durduruyor.

Bütün işlev budur:

$('#table').on('click-row.bs.table', function (e, row, $element) { if(config["homing_tool"] == "1"){ $('#detail').show();
            $('#detail1').hide(); $('#detail2').hide();
            $('.homing').hide(); }else{ $('#detail').show();
            $('#detail1').show(); $('#detail2').show();

            $('#iris').attr("src","image/"+row.id+"_0_1.jpg"); $('#square').attr("src","image/"+row.id+"_2_1.jpg");
    };
    var x;
    for (x in row) {
        if(x == "type"){
            $('#'+x).html(spec[row[x]]["name"]); }else{ $('#'+x).html(row[x]);
        }
    }
});

Düzenleme: Öneriler için teşekkürler! Tüm veriler yereldir, bu yüzden sunuculara bağlanmaya ve bildiğim kadarıyla HTTP isteklerini kullanmaya gerek yok. Diğer önerileri yarın deneyeceğim. Uzaktan erişmem gereken bilgisayar 6 saat önümde ve sadece günlüğüne kapandı.

Yanıtlar

Rik Aug 19 2020 at 14:55

Bazı hata ayıklama ve deneme yanılma yoluyla uyarlayabildim İhtiyacım olana yüklemeden önce görüntünün var olup olmadığını kontrol edin .

Hepinize teşekkürler!

Gelecek nesil için kullandım:

function getSquareURL(rowid)
{
    var image = new Image();
    
    image.onload = function()
    {
        $('#square').attr("src","image/"+rowid+"_2_1.jpg"); return true; } image.onerror = function() { $('#square').attr("src","image/"+rowid+"_3_1.jpg");
        return false;
    }

    image.src = "image/"+rowid+"_2_1.jpg";
}