ただ1つの画像(スプライト)を使ってスライドショーのjsコードを書きました。 jsでは、背景の位置を変更して可視の画像を変更しています。1つのスプライトを使ったJavascript写真のスライドショー
var first = true;
function galesprite() {
if (first) {
var bg_pos = '0px 0px';
first = false;
} else {
var bg_pos = $("#gmap").css('background-position');
}
/* Sub función para cuando termine la animación de fadeOut, sinó la foto se
* cambia antes y no crea el efecto deseado. */
$("#gmap").fadeOut(1000, function() {
var xy = bg_pos.split(' ');
var y = xy[1].split('px');
var newy = parseInt(y) + 200;
var bgpos = xy[0] + ' ' + newy + 'px';
$('#gmap').css('background-position', bgpos);
$("#gmap").fadeIn(1000);
setTimeout('galesprite()', 4000);
});
}
これは影響を受けています。バックグラウンドイメージを置くcssクラス、垂直イメージのセット。各画像の高さは200ピクセルです。
<div id="gmap"></div>
#gmap {
height: 200px;
width: 270px;
background-image: url('../images/diapositiva-home/surf.jpg');
background-position: 0px 0px;
}
私が行うのは、ループの定期的にdivのバックグラウンドのY位置を増やすことです。それはイメージを変えるようです。 このアイデアは、10枚の画像を読み込むのではなく、スプライトを使ってページの読み込み時間を最小限に抑えることです。 改善できることはありますか?ありがとう。
このアイデアはわかりません。これで、すべてのスライドをギャラリーにロードしてから表示されるようになりました。ギャラリーの読み込みをずらして、最初の画像がより速く表示されるようにするのが実際には理にかなっています。 –
イメージを別々に読み込むと、最初のイメージがロードされるとすぐにスライドショーを開始できます。あなたのケースでは、すべてがブラウザに入るまで待たなければなりません。 – cababunga
しかし、1つのHTTPリクエストでは、すべてのイメージがロードされるという考えがあります。ページの他の画像を待つ必要はありません。 – Sergi