display プロパティを に設定して画像を非表示none
にしても、ブラウザはその画像ファイルを HTTP リクエスト経由でロードしますか? none
画像のリストがあるため、デフォルトの画像である最初の画像を除いて、それらの表示プロパティは に設定されています。ユーザーが次のボタンをクリックしたら、画像 2 を表示し、他の画像の表示プロパティを に設定しますnone
。ウェブサイトを高速化するためにこれを求めています。
質問する
16923 次
5 に答える
14
はい、画像が読み込まれました。解決策の 1 つは、次の別の属性を使用していますsrc
。
<img data-src="http://placekitten.com/300/300?" />
<img data-src="http://placekitten.com/400/400?" />
<img data-src="http://placekitten.com/500/500?" />
次に、それらの1つを表示したい場合は、src
その属性をそのに設定するだけですdata-src
:
// showing the second one
var $img = $('img').eq(1);
$img.attr('src', $img.attr('data-src'));
次に、ロードされます。
背景画像
もう 1 つのソリューションは、タグbackground-image
の代わりに使用しimg
ています。この場合、タグが表示されるまで読み込まれません。
<div class="div-as-image" style="background-image: url(http://placekitten.com/300/300?);"></div>
<div class="div-as-image" style="background-image: url(http://placekitten.com/400/400?);"></div>
<div class="div-as-image" style="background-image: url(http://placekitten.com/500/500?);"></div>
そしてあなたのCSSで:
.div-as-image {
width: 500px;
height: 100px;
display: none;
}
ここで、そのうちの 1 つを表示すると、その画像が読み込まれます。
// showing the second one
var $div = $('.div-as-image').eq(1);
$div.css('display', 'block');
background-image
このメソッドはonnone
要素もロードするため、Chrome では機能しません。
于 2013-06-01T14:13:09.843 に答える
7
はい。画像が読み込まれますが、CSS ルールにより表示されません。
于 2013-06-01T14:04:57.773 に答える
-2
ajax を使用してフォルダから画像をロードし、次に img 要素の jQuery.load() 関数をロードできます。
于 2013-06-01T14:07:08.190 に答える