SORU
22 EKİM 2008, ÇARŞAMBA


Img bir öğe oluşturmak için en iyi JavaScript kodu nedir

Arka planda bir görüntü öğesi oluşturur ve bir şey görüntü değil JS kodu basit bir parça oluşturmak istiyorum. Görüntü öğesi izleme URL (Omniture gibi) ara ve basit ve sağlam olmalı ve IE 6=&; lt çalışacak. İşte benim kod:

var oImg=document.createElement("img");
oImg.setAttribute('src', 'http://www.testtrackinglink.com');
oImg.setAttribute('alt', 'na');
oImg.setAttribute('height', '1px');
oImg.setAttribute('width', '1px');
document.body.appendChild(oImg);

Bu en basit, ama en güçlü (hata) serbest iş böyle?

Yapamam jQuery gibi bir çerçeve kullanın. Düz JavaScript gerekiyor.

CEVAP
22 EKİM 2008, ÇARŞAMBA


oImg.setAttribute('width', '1px');

px CSS için. Kullanın:

oImg.width= '1';

genişliği HTML ya: ayarlamak için

oImg.style.width= '1px';

CSS ile ayarlamak için.

Not eski sürümleri YANİ yok oluştur düzgün bir görüntü ile document.createElement() ve eski sürümleri KHTML yok oluşturmak uygun bir DOM Düğüm ile new Image(), öyle olmak istiyorsan tam bir geriye dönük uyumlu kullanmak gibi bir şey

// IEWIN boolean previously sniffed through eg. conditional comments

function img_create(src, alt, title) {
    var img= IEWIN? new Image() : document.createElement('img');
    img.src= src;
    if (alt!=null) img.alt= alt;
    if (title!=null) img.title= title;
    return img;
}

Ayrıca eğer kod sayfası olarak yürütmek gerekirse biraz document.body.appendChild dikkat edin yükleme ortada. Hiç umulmadık bir yerde, ya da IE garip bir JavaScript hata görüntü ile sona erebilir. Eğer ihtiyacınız yapabilmek için eklemek yük-zaman (ama sonra <body> element başlamıştır), sen-ebil denemek ekleme başlangıç vücut kullanarak body.insertBefore(body.firstChild).

Bunu yapmak için görünmez ama hala resim aslında yük tarayıcılar, sen-ebil eklemek mutlak konumlandırılmış-off-the-sayfa <div> vücudun ilk çocuk ve her iki izleme/ön görüntüleri olmak istemiyor görünür.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bunnyboxx

    bunnyboxx

    17 NİSAN 2008
  • HTC

    HTC

    12 Ocak 2006
  • Theodore Leaf

    Theodore Lea

    29 AĞUSTOS 2006