Setakat ini saya mempunyai kod ini:
var img = document.getElementById('draggable'); var width = img.clientWidth; var height = img.clientHeight;
Walau bagaimanapun, ini memberi saya atribut html - gaya css. Saya ingin mendapatkan dimensi sumber imej sebenar fail.
Saya memerlukan ini kerana selepas memuat naik imej, lebarnya ditetapkan kepada 0px dan saya tidak tahu mengapa atau di mana ini berlaku. Untuk mengelakkan ini, saya ingin mendapatkan dimensi sebenar dan menetapkannya semula. adakah mungkin?
EDIT: Walaupun saya cuba mendapatkan NaturalWidth, hasilnya adalah 0. Saya menambah gambar. Perkara yang pelik ialah ini hanya berlaku apabila saya memuat naik fail baharu dan selepas muat semula ia berfungsi dengan baik.
http://oi39.tinypic.com/3582xq9.jpg
Ada
img.naturalHeight
和img.naturalWidth
memberi anda lebar dan ketinggian imej itu sendiri, bukan elemen DOM.Anda boleh menggunakan
naturalWidth
和naturalHeight
, sifat ini mengandungi lebar dan ketinggian imej sebenar, tidak diubah suai, tetapi anda perlu menunggu sehingga imej dimuatkan untuk mendapatkannyaCiri ini hanya menyokong IE9 dan ke atas, jika anda mesti menyokong pelayar lama, anda boleh mencipta imej baharu, tetapkan sumbernya kepada imej yang sama, jika saiz imej tidak diubah suai, ia akan mengembalikan saiz semula jadi imej , kerana Ini akan menjadi saiz lalai apabila tiada saiz lain diberikan
FIDDLE