Joni の答えはほぼ正しいですが、学習している間は、HTML は「単なる」構造化されたテキスト ドキュメントであり、長い道のりになることを覚えておいてください。コンテンツを動的に作成する準備ができたら、DOM を使用して多くのことを学習する準備をしてください。しかし、すでにいくつかのコードを知っているように見えるので、それで戦いの半分は終わりです。;)
JS でこれを行う方法を理解するために、探しているのはImage
オブジェクトです。次のように記述して、新しい Image を作成しますvar myPicture = new Image();
。現状では、これはドキュメントにはまだ存在せず、ソース (リソースへのパス) もありませんが、新しい画像への参照があり、それを使用して操作できます。
src
次のように、属性を変更してソースを指定しますmyPicture.src="a.png";
。ただし、そのイメージをロードする操作は非同期であることを覚えておく必要があります (これは非常に多くのことに当てはまります) 。つまり、ドキュメントに画像を追加しても、画像が読み込まれるまで何も表示されません。画像は、これを理解するための出発点として適しています。コンソール (Chrome の開発者ツール) でこれらのコマンドを試してみて、どのような違いがあるかを確認してください。
var myPicture = new Image();
myPicture.src = 'a.png';
document.body.appendChild(myPicture); // may or may not show the image, depending on how long it takes to load, but should be almost instant on a localhost or file
var myEmptyPicture = new Image();
document.body.appendChild(myEmptyPicture); // you will see the empty image tag in the document
myEmptyPicture.onload = function(){
console.log('I have finished loading the picture!')
};
myEmptyPicture.src = 'b.png'; // you kept the reference to the image, so you can change its src attribute even while it is in the document - this is important for more advanced stuff, and it should log a message to your console
// last one, this will insert itself into the document once it has loaded
myAutomaticPicture = new Image();
myAutomaticPicture.onload = function(){
console.log('picture loaded, inserting into document');
document.body.appendChild(myAutomaticPicture); // should see it in the document now
}
myAutomaticPicture.src = 'c.png';
onload 属性は、値として関数を取るという点で特別です。この関数は、画像の読み込みが完了すると呼び出されます。
試すこと、DOM に既にある要素の src 属性を変更する、または document.createElement メソッドで他の要素を作成して追加する (例: var heading = document.createElement('h1'); heading.innerHTML='hello'; document.appendChild(heading);
)。
これらすべてがどのように組み合わされているかを見始めると、とても楽しいです...