ホームページ制作

複数の画像を使ってスライドショーをホームページに埋め込む方法!

投稿日:


複数の画像をスライドさせたり、ふぁっ~と浮び上がらせたりするホームページを良く見かけますが、あれどうやって作るんだろう?

と、思い色々とやって見ました。HTML&CSSのソースは下記の通りです。

※< >は、全角で書いていますので半角へ変更して下さい。

1・まず、htmlは

<p id="slideshow">
< img src="photo1.jpg" alt="画像1" class="active">>
< img src="photo2.jpg" alt="画像2">
< img src="photo3.jpg" alt="画像3">
< img src="photo4.jpg" alt="画像4">
<img src="photo5.jpg" alt="画像5">
</p>・class="active"でスライドショーが始まるまでに表示する画像を設定しています。

 

2・次にCSSは、下記の様になります。

<style type="text/css">
#slideshow {
position: relative;
width: 640px; /* 画像の横幅に合わせて記述 */
height: 270px; /* 画像の高さに合わせて記述 */
}
#slideshow img {
position: absolute;
top: 0;
left:0;
z-index: 8;
opacity: 0.0;
}
#slideshow img.active {
z-index: 10;
opacity: 1.0;
}
#slideshow img.last-active {
z-index: 9;
}
</style>・画像に合わせて幅を変更して下さい。
・positionで画像位置を設定していますが、重なりの部分はz-indexで指定しています。
・数字が大きくなるほど上、つまり10が9より手前になります。

 

3・最後に画像を動かすスクリプトは次の通りです。

<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.3.min.js"></script><script type="text/javascript">
function slideSwitch() {
var $active = $('#slideshow img.active');

if ( $active.length == 0 ) $active = $('#slideshow img:last');

var $next = $active.next().length ? $active.next()
: $('#slideshow img:first');

$active.addClass('last-active');

$next.css({opacity: 0.0})
.addClass('active')
.animate({opacity: 1.0}, 1000, function() {
$active.removeClass('active last-active');
});
}

$(function() {
setInterval( "slideSwitch()", 3000 );
});
</script>

・実際に画像をスライドさせるscriptになります。
・画像が入れ替わる長さは下から3行目の数字を変更すれば変わります。
・3000は3秒になります。

上記のソースリストを< >のみ変更して、ご利用ください。
htmlの画像1~5は必要に応じて変更して下さい。

-ホームページ制作
-

Copyright© プライベートパソコン教室 , 2017 AllRights Reserved.