原文章:https://wangdoc.com/javascript/index.html
<img>
要素
アウトライン
<img>
要素画像を挿入するために使用され、主HTMLImageElementインタフェースを継承。
ブラウザは、ネイティブのコンストラクタ提供してImage
生成するためのHTMLImageElement
インスタンスを。
var img = new Image();
img instanceof Image // true
img instanceof HTMLImageElement // true
Image
コンストラクタは、それぞれ、パラメータとして2つの整数を受け入れる表すことができる<img>
要素の幅と高さ。
// 语法
Image(width, height)
// 用法
var myImage = new Image(100, 200);
<img>
例src
プロパティは、画像のURLを定義することができます。
var img = new Image();
img.src = 'picture.jpg';
新しく生成された<img>
インスタンスは、文書の一部ではありません。あなたはそれがあなたの文書に表示したい場合は、手動で文書に挿入しなければなりません。
var img = new Image();
img.src = 'image1.png';
document.body.appendChild(img);
使用に加えて、Image
コンフィギュレーション、次のような方法が得られるHTMLImageElement
インスタンス。
document.images
メンバー- ノード選択方法(例えば
document.getElementById
)得られた<img>
ノード document.createElement('img')
生成された<img>
ノード
document.images[0] instanceof HTMLImageElement
// true
var img = document.getElementById('myImg');
img instanceof HTMLImageElement
// true
var img = document.createElement('img');
img instanceof HTMLImageElement
// true
HTMLImageElement
ノード、要素、のHTMLElementインターフェース、実施例のほかにもいくつかのユニークな特性を有します。このインタフェースは、独自のメソッドを定義していません。
特性関連するプロパティ
(1)HTMLImageElement.src
HTMLImageElement.src
プロパティは、画像の完全なURLを返します。
// HTML 代码如下
// <img width="300" height="400" id="myImg" src="http://example.com/pic.jpg">
var img = document.getElementById('img');
img.src // http://example.com/pic.jpg
(2)HTMLImageElement.currentSrc
HTMLImageElement.currentSrc
プロパティは、現在表示されている画像のURLを返します。JavaScriptとCSS mediaQueryが表示されている画像を変更することができます。
(3)HTMLImageElement.alt
HTMLImageElement.alt
プロパティは読み書きできる<img>
HTML属性をalt
、画像のテキスト記述を表します。
(4)HTMLImageElement.isMap、HTMLImageElement.useMap
HTMLImageElement.isMap
プロパティ対応<img>
HTML要素の属性ismap
、画像はサーバ側イメージマップの一部であるかどうかを示すブール値を返します。
HTMLImageElement.useMap
プロパティ対応<img>
HTML要素の属性usemap
電流によって表される画像に対応する、<map>
要素。
(5)HTMLImageElement.srcset、HTMLImageElement.sizes
HTMLImageElement.srcset
プロパティとHTMLImageElement.sizes
属性は、読み書きするために使用されている<img>
要素のsrcset
属性とsizes
プロパティを。彼らは、使用されている<img>
応答負荷素子を。srcset
プロパティは、単独で使用することができますが、sizes
プロパティがされなければならsrcset
一緒プロパティで使用されます。
// HTML 代码如下
// <img srcset="example-320w.jpg 320w,
// example-480w.jpg 480w,
// example-800w.jpg 800w"
// sizes="(max-width: 320px) 280px,
// (max-width: 480px) 440px,
// 800px"
// id="myImg"
// src="example-800w.jpg">
var img = document.getElementById('myImg');
img.srcset
// "example-320w.jpg 320w,
// example-480w.jpg 480w,
// example-800w.jpg 800w"
img.sizes
// "(max-width: 320px) 280px,
// (max-width: 480px) 440px,
// 800px"
上記のコードでは、sizes
未満の属性を指定し、320px
画面の幅、画像は280px
、未満480px
の画像の画面幅440px
、他の場合には、画像の幅800px
。次に、現在の画面幅に基づいて、ブラウザは、srcset
画像の幅に最も近い特性がロードされます。
HTMLImageElement.width、HTMLImageElement.height
width
属性は表し<img>
HTML幅height
属性は、高さを示しています。どちらのプロパティが返さ整数です。
// HTML 代码如下
// <img width="300" height="400" id="myImg" src="pic.jpg">
var img = document.getElementById('img');
img.width // 300
img.height // 400
イメージがロードされていない場合は、これら2つのプロパティが返されます0
。
HTMLコードが設定されていない場合width
とheight
、すなわち、それらは実際の画像の幅と高さの戻り属性HTMLImageElement.naturalWidth
の属性とHTMLImageElement.naturalHeight
特性。
HTMLImageElement.naturalWidth、HTMLImageElement.naturalHeight
HTMLImageElement.naturalWidth
属性は、画像の(ピクセル単位)の実際の幅を示すHTMLImageElement.naturalHeight
属性が実際の高さを示しています。どちらのプロパティが返さ整数です。
画像が指定されていないか、利用できなかった場合は、これら2つの属性が同じです0
。
var img = document.getElementById('img');
if (img.naturalHeight > img.naturalWidth) {
img.classList.add('portrait');
}
上記のコードでは、画像の高さ、幅、設定よりも大きい場合portrait
のモード。
HTMLImageElement.complete
HTMLImageElement.complete
プロパティは、チャートがロードされているかどうかを示すブール値を返します。場合<img>
要素は何も持っていないsrc
プロパティを、また戻りますtrue
。
HTMLImageElement.crossOrigin
HTMLImageElement.crossOrigin
属性は読み取りと書き込みのために使用される<img>
要素crossorigin
の属性を、クロスセットを表します。
このプロパティは、2つの値があります。
anonymous
:クロスドメインリクエストがデフォルトでユーザー認証(資格情報)を、必要としません。use-credentials
:クロスドメインリクエストは、ユーザー認証を必要とします。
// HTML 代码如下
// <img crossorigin="anonymous" id="myImg" src="pic.jpg">
var img = document.getElementById('img');
img.crossOrigin // "anonymous"
HTMLImageElement.referrerPolicy
HTMLImageElement.referrerPolicy
読み書き用<img>
のHTML属性の要素をreferrerpolicy
、画像リソース要求は、HTTPリクエストの処理方法を示すreferrer
フィールドを。
これは、5つの可能な値を持っています。
no-referrer
:なしreferrer
フィールド。no-referrer-when-downgrade
:要求されたアドレスがある場合ではないではないと、HTTPSプロトコルをreferrer
デフォルトでフィールド、。origin
:referrer
フィールドには、プロトコル、ドメイン名およびポートを含め、現在のページのアドレスです。origin-when-cross-origin
:現在のページ要求のアドレスが相同関係、そしてある場合にはreferrer
、フルパスでフィールドそうでない場合、それは唯一のプロトコル、ドメイン名とポートが含まれます。unsafe-url
:referrer
フィールドは、さらにパスを備え、プロトコル、ドメイン名とポートに加えて、現在のページのアドレスが含まれています。この設定は、リーク経路情報ため、危険です。
HTMLImageElement.x、HTMLImageElement.y
HTMLImageElement.x
プロパティは、横軸に対する画像の左上隅を返し、HTMLImageElement.y
プロパティは、縦軸を返します。
イベントのプロパティ
画像の読み込みは、それが引き金となり、完了したonload
属性指定にコールバック関数を。
// HTML 代码为 <img src="example.jpg" onload="loadImage()">
function loadImage() {
console.log('Image is loaded');
}
エラーが画像の読み込み中に発生した、トリガーonerror
属性は、コールバック関数を指定します。
// HTML 代码为 <img src="image.gif" onerror="myFunction()">
function myFunction() {
console.log('There is something wrong');
}