画像のプリロードは、ユーザー エクスペリエンスを向上させる優れた方法です。ブラウザに画像が事前に読み込まれているため、訪問者はスムーズにサイトを閲覧し、驚くほど速い読み込み時間を楽しむことができます。これは、画像が大きな割合を占める画像ギャラリーや Web サイトにとって非常に有益です。これにより、画像が迅速かつシームレスに公開され、Web サイトのコンテンツを閲覧する際のユーザー エクスペリエンスが向上します。この記事では、Web サイトのパフォーマンスと使いやすさを向上させるための 3 つの異なるプリロード手法を紹介します。
方法 1: CSS と JavaScript を使用してプリロードを実装する
プリロードされた画像を実装するには、CSS、JavaScript、およびその 2 つのさまざまな組み合わせの使用など、さまざまな方法があります。これらのテクノロジーは、さまざまな設計シナリオに従って対応するソリューションを設計でき、非常に効率的です。
CSS を使用するだけで、画像を簡単かつ効率的にプリロードできます。コードは次のとおりです:
#preload-01 { 背景: url(http://domain.tld/image-01.png) no-repeat -9999px -9999px }
; #preload-02 { 背景: url(http://domain.tld/image-02.png) no-repeat -9999px -9999px }
; #preload-03 { 背景: url(http://domain.tld/image-03.png) no-repeat -9999px -9999px }
これら 3 つの ID セレクターを (X)HTML 要素に適用すると、CSS の背景属性を通じてオフスクリーンの背景に画像をプリロードできます。これらの画像へのパスが同じである限り、ブラウザは、Web ページの別の場所で呼び出されたときに、レンダリング プロセス中にプリロードされた (キャッシュされた) 画像を使用します。シンプルかつ効率的で、JavaScript は必要ありません。
この方法は効率的ですが、まだ改善の余地があります。このメソッドを使用して読み込まれた画像は、ページ上の他のコンテンツと一緒に読み込まれるため、ページの全体的な読み込み時間が長くなります。この問題を解決するために、ページが読み込まれるまでプリロード時間を遅らせるための JavaScript コードを追加しました。コードは次のとおりです:
// より良い画像のプリロード @ http://perishablepress.com/press/2009/12/28/3-ways-preload-images-css-javascript-ajax/">http://perishablepress.com/press/2009/12/28/3-ways-preload-images-css-javascript-ajax/">http: //perishablepress.com/press/2009/12/28/3-ways-preload-images-css-javascript-ajax/> 関数 preloader() {
If (document.getElementById) {
document.getElementById("preload-01").style.background = "url(http://domain.tld/image-01.png) no-repeat -9999px -9999px";
document.getElementById("preload-02").style.background = "url(http://domain.tld/image-02.png) no-repeat -9999px -9999px";
document.getElementById("preload-03").style.background = "url(http://domain.tld/image-03.png) no-repeat -9999px -9999px";
}
}
function addLoadEvent(func) {
var oldonload = window.onload
If (typeof window.onload != '関数') {
window.onload = func; } else {
window.onload = function(){window.onload = function() If (oldonload) {
oldonload(); func(); }
}
addLoadEvent(プリローダー);
スクリプトの最初の部分では、クラス セレクターを使用して要素を取得し、その要素に背景属性を設定して、さまざまな画像をプリロードします。
スクリプトの 2 番目の部分では、addLoadEvent() 関数を使用して、ページが読み込まれるまで preloader() 関数の読み込み時間を遅らせます。
ユーザーのブラウザで JavaScript が適切に実行されない場合はどうなりますか?非常に簡単です。ページが画像を呼び出すと、画像はプリロードされず、通常どおり表示されます。
方法 2: プリロードの実装にのみ JavaScript を使用する
上記の方法は非常に効率的な場合もありますが、実際の実装プロセスでは時間がかかりすぎることが徐々にわかりました。代わりに、画像のプリロードには純粋な JavaScript を使用することを好みます。以下に、最新のすべてのブラウザで美しく機能する 2 つのプリロード方法を示します。
JavaScript スニペット 1
必要な画像のパスと名前を編集してロードするだけで、簡単に実装できます:
for (i = 0; i 画像[i] = 新しい画像()
画像[i].src = preload.arguments[i]
preload( "
http://domain.tld/gallery/image-001.jpg
", "
"
http://domain.tld/gallery/image-002.jpg
", "
"http://domain.tld/gallery/image-003.jpg"
この方法は、大量の画像をプリロードする場合に特に適しています。私のギャラリー Web サイトでは、このテクノロジーを使用して 50 を超える画像をプリロードしています。このスクリプトをログイン ページに適用すると、ユーザーがログイン ID を入力するとすぐに、ほとんどのギャラリー画像がプリロードされます。
JavaScript コード スニペット 2
この方法は上記の方法と似ており、任意の数の画像をプリロードすることもできます。次のスクリプトを任意の Web ページに追加し、プログラムの指示に従って編集します。
http://domain.tld/path/to/image-001.gif
"; img2.src = "
http://domain.tld/path/to/image-002.gif
"; img3.src = "
http://domain.tld/path/to/image-003.gif
"; }
ご覧のとおり、画像をロードするたびに、「img1 = new Image();」などの変数を作成し、「img3.src = "../path/to/image-003.gif";"。このモードを参照すると、必要なだけ画像をロードできます。
この方法をさらに改良しました。このスクリプトを関数にラップし、addLoadEvent() を使用して、ページが読み込まれるまでプリロード時間を遅らせます。
コードをコピーします
コードは次のとおりです:
If (document.images) {
var oldonload = window.onload
If (typeof window.onload != '関数') {
window.onload = func; } else {
window.onload = function(){window.onload = function() If (oldonload) {
oldonload(); func(); }
} addLoadEvent(プリローダー);
方法 3: Ajax を使用してプリロードを実装する
上記の方法は十分にクールではないようです。それでは、Ajax を使用して画像のプリロードを実装する方法を見てみましょう。この方法では、DOM を使用して画像をプリロードするだけでなく、CSS、JavaScript、その他の関連するものもプリロードします。 JavaScript を直接使用する場合よりも Ajax を使用する利点は、JavaScript と CSS の読み込みが現在のページに影響を与えないことです。この方法はシンプルで効率的です。
コードをコピー
コードは次のとおりです:
window.onload = function() {
setTimeout(function() {
// JS と CSS をリクエストする XHR var xhr = new XMLHttpRequest(); xhr.open('GET', 'http://domain.tld/preload.js'); xhr.send(''); xhr = new XMLHttpRequest(); xhr.open('GET', 'http://domain.tld/preload.css'); xhr.send(''); 新しい画像()。src = " }, 1000); };
上記のコードは、「preload.js」、「preload.css」、および「preload.png」をプリロードします。 1000 ミリ秒のタイムアウトは、スクリプトがハングして通常のページで機能上の問題が発生するのを防ぐためです。
次に、JavaScript を使用して読み込みプロセスを実装する方法を見てみましょう:
コードをコピーします
コードは次のとおりです:
window.onload = function() {
";
// JS と CSS をプリロードします head.appendChild(css); head.appendChild(js);
// 画像をプリロードします new Image().src = "
http://domain.tld/preload.png
";
}, 1000);
};
ここでは、DOM を通じて 3 つの要素を作成し、3 つのファイルをプリロードします。上で述べたように、Ajax では、ファイルの読み込みは読み込みページには適用されません。この観点から見ると、Ajax メソッドは JavaScript よりも優れています。
この記事ではまず、画像プリロード技術を実装する 3 つの方法をすでに知っていると思いますが、それを自分のプロジェクトに適用してください。

在css中,可用list-style-type属性来去掉ul的圆点标记,语法为“ul{list-style-type:none}”;list-style-type属性可设置列表项标记的类型,当值为“none”可不定义标记,也可去除已有标记。

区别是:css是层叠样式表单,是将样式信息与网页内容分离的一种标记语言,主要用来设计网页的样式,还可以对网页各元素进行格式化;xml是可扩展标记语言,是一种数据存储语言,用于使用简单的标记描述数据,将文档分成许多部件并对这些部件加以标识。

在css中,可以利用cursor属性实现鼠标隐藏效果,该属性用于定义鼠标指针放在一个元素边界范围内时所用的光标形状,当属性值设置为none时,就可以实现鼠标隐藏效果,语法为“元素{cursor:none}”。

转换方法:1、给英文元素添加“text-transform: uppercase;”样式,可将所有的英文字母都变成大写;2、给英文元素添加“text-transform:capitalize;”样式,可将英文文本中每个单词的首字母变为大写。

Vue是一种流行的JavaScript框架,可以帮助我们构建交互式的Web应用程序。在开发过程中,我们常常遇到需要加载大量图片的情况,而这往往会导致页面加载速度变慢,影响用户体验。本文将介绍如何利用Vue的keep-alive组件来优化图片的加载体验。为什么需要优化图片加载体验?图片在网页中扮演着非常重要的角色,可以增加网页的吸引力和可读性,提升用户体验。然

在css中,rtl是“right-to-left”的缩写,是从右往左的意思,指的是内联内容从右往左依次排布,是direction属性的一个属性值;该属性规定了文本的方向和书写方向,语法为“元素{direction:rtl}”。

在css中,可以利用“font-style”属性设置i元素不是斜体样式,该属性用于指定文本的字体样式,当属性值设置为“normal”时,会显示元素的标准字体样式,语法为“i元素{font-style:normal}”。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

Dreamweaver Mac版
ビジュアル Web 開発ツール
