Apakah ada JavaScript atau API jQuery atau metode untuk mendapatkan dimensi gambar pada halaman?
javascript
jquery
image
jquery-plugins
Saneef
sumber
sumber
Jawaban:
Anda bisa mendapatkan gambar dan memeriksa dimensi menggunakan Javascript ...
Ini bisa bermanfaat jika gambar itu bukan bagian dari markup.
sumber
clientWidth dan clientHeight adalah properti DOM yang menunjukkan ukuran di-browser saat ini dari dimensi bagian dalam elemen DOM (tidak termasuk margin dan perbatasan). Jadi dalam kasus elemen IMG, ini akan mendapatkan dimensi sebenarnya dari gambar yang terlihat.
sumber
$.fn.width
dan$.fn.height
.document.getElementById
lebih panjang untuk mengetik tetapi 10 kali lebih cepat dari$('#...')[0]
.Juga (selain jawaban Rex dan Ian) ada:
dan
Ini memberikan tinggi dan lebar file gambar itu sendiri (bukan hanya elemen gambar).
sumber
Jika Anda menggunakan jQuery dan Anda meminta ukuran gambar Anda harus menunggu sampai mereka memuat atau Anda hanya akan mendapatkan angka nol.
sumber
Saya pikir pembaruan untuk jawaban-jawaban ini berguna karena salah satu jawaban terbaik menyarankan untuk menggunakan
clientWidth
dan clientHeight, yang saya pikir sekarang sudah usang.Saya telah melakukan beberapa percobaan dengan HTML5, untuk melihat nilai mana yang benar-benar dikembalikan.
Pertama-tama, saya menggunakan program bernama Dash untuk mendapatkan gambaran umum tentang API gambar. Ini menyatakan bahwa
height
danwidth
adalah tinggi / lebar gambar yang diberikan dan itunaturalHeight
dannaturalWidth
adalah tinggi intrinsik / lebar gambar (dan hanya HTML5).Saya menggunakan gambar kupu-kupu yang indah, dari file dengan tinggi 300 dan lebar 400. Dan Javascript ini:
Lalu saya menggunakan HTML ini, dengan CSS sebaris untuk tinggi dan lebar.
Hasil:
Saya kemudian mengubah HTML sebagai berikut:
yaitu menggunakan atribut tinggi dan lebar daripada gaya inline
Hasil:
Saya kemudian mengubah HTML sebagai berikut:
yaitu menggunakan atribut dan CSS, untuk melihat mana yang diutamakan.
Hasil:
sumber
Menggunakan JQuery Anda melakukan ini:
sumber
width
dan elemen.height
img
Hal yang semua orang lupa adalah bahwa Anda tidak dapat memeriksa ukuran gambar sebelum memuat. Ketika penulis memeriksa semua metode yang diposting itu akan bekerja mungkin hanya di localhost. Karena jQuery dapat digunakan di sini, ingat bahwa acara 'siap' diaktifkan sebelum gambar dimuat. $ ('# xxx'). width () dan .height () harus diaktifkan dalam acara onload atau lebih baru.
sumber
Anda hanya dapat benar-benar melakukan ini menggunakan callback dari peristiwa pemuatan karena ukuran gambar tidak diketahui sampai benar-benar selesai memuat. Sesuatu seperti kode di bawah ini ...
sumber
Dengan jQuery perpustakaan-
Gunakan
.width()
dan.height()
.Lebih lebar jQuery dan jQuery heigth .
Contoh kode-
sumber
ok teman-teman, saya pikir saya meningkatkan kode sumber untuk dapat membiarkan gambar memuat sebelum mencoba mencari tahu sifat-sifatnya, kalau tidak akan menampilkan '0 * 0', karena pernyataan berikutnya akan dipanggil sebelum file tersebut dimuat ke dalam browser. Membutuhkan jquery ...
sumber
Dengan asumsi, kami ingin mendapatkan dimensi gambar
<img id="an-img" src"...">
Dimensi Alami
el.naturalWidth
danel.naturalHeight
akan memberi kita dimensi alami , dimensi file gambar.Dimensi Tata Letak
el.offsetWidth
danel.offsetHeight
akan memberi kita dimensi di mana elemen diberikan pada dokumen.sumber
Sebelum menggunakan ukuran gambar asli, Anda harus memuat gambar sumber. Jika Anda menggunakan kerangka JQuery Anda bisa mendapatkan ukuran gambar nyata dengan cara sederhana.
sumber
Ini jawabannya adalah persis apa yang saya cari (di jQuery):
sumber
Anda dapat memiliki fungsi sederhana seperti yang berikut (
imageDimensions()
) jika Anda tidak takut menggunakan janji .sumber
Jawaban JQuery:
sumber
Pemikiran ini mungkin bermanfaat bagi beberapa yang menggunakan Javascript dan / atau naskah pada 2019.
Saya menemukan yang berikut, seperti yang disarankan beberapa orang, salah:
Ini benar:
Kesimpulan:
Gunakan
img
, tidakthis
, dalamonload
fungsi.sumber
Baru-baru ini saya memiliki masalah yang sama untuk kesalahan pada slider slider. Ketinggian gambar pertama diatur lebih kecil karena penundaan pemuatan. Saya mencoba metode berikut untuk menyelesaikan masalah itu dan berhasil.
Ini akan memberi Anda ketinggian sehubungan dengan lebar yang Anda atur daripada lebar asli atau Nol.
sumber
Anda juga bisa menggunakan:
sumber
Nicky De Maeyer bertanya setelah foto latar belakang; Saya cukup mendapatkannya dari css dan ganti "url ()":
sumber
s.substr(4,s.length-5)
, itu setidaknya lebih mudah di mata;)Anda dapat menerapkan properti handler onload ketika halaman dimuat dalam js atau jquery seperti ini: -
sumber
Cukup, Anda bisa menguji seperti ini.
sumber
sumber
penting untuk menghapus pengaturan yang ditafsirkan browser dari div induk. Jadi, jika Anda menginginkan lebar dan tinggi gambar yang sebenarnya, Anda bisa menggunakannya
Ini adalah salah satu contoh Proyek TYPO3 dari saya di mana saya membutuhkan properti nyata dari gambar untuk menskala dengan hubungan yang benar.
sumber
Ini metode saya, semoga ini membantu. :)
sumber
ini berfungsi untuk beberapa pratinjau gambar dan mengunggah. jika Anda harus memilih untuk masing-masing gambar satu per satu. Kemudian salin dan lewati ke semua fungsi gambar pratinjau dan validasi !!!
sumber
Sebelum memperoleh atribut elemen, halaman dokumen harus memuat:
sumber
hanya lulus objek file img yang diperoleh oleh elemen input ketika kita memilih file yang benar itu akan memberikan tinggi netural dan lebar gambar
sumber