スライドすると、中央の画像が拡大表示するスライドショーをjQueryで作ってみました。
クリックするとスライドします。
↓以下が実際のソースサンプルです。
<script>
$(function () {
var x = 320, //画像の横幅
zoom = 1.2, //拡大の倍率
imgLength = $("ul li").length,
hantei = true;
$("ul").css({"width": ((x * imgLength) + (960 - (x * 2))) + "px","margin-left": "-" + x + "px"});
$("ul li").css("width", x + "px");
$("ul li:eq(3)").css({
"margin-left": (960 - (x * 2)) + "px"
});
$("ul li:eq(2)").addClass("mainImg").css({
"left": "50%",
"width": (x * zoom) + "px",
"height": "auto",
"margin-left": "-" + ((x * zoom) / 2) + "px"
});
$("ul").click(function () {
if (hantei) {
hantei = false;
$("ul li:eq(3)").css({
"margin-left": (x / 2) + "px"
});
$("ul li:eq(4)").css({
"margin-left": (960 - (x * 2)) + x + "px"
});
$("ul").animate({
"margin-left": "-" + x * 2 + "px"
}, 1000, function () {
$("ul li:eq(0)").appendTo("ul");
$("ul").css("margin-left", "-" + x + "px");
});
$("ul li:eq(2)").animate({
"margin-left": "0",
"width": x + "px",
"height": "auto",
"left": "0"
}, 1000).removeClass("mainImg");
$("ul li:eq(3)").addClass("mainImg").css({"left": "50%", "margin-left": (960 - (x * 2)) / 2 + "px"}).animate({
"width": (x * zoom) + "px",
"height": "auto",
"margin-left": "-" + ((x * zoom) / 2) + "px"
}, 1000, function () {
$("ul li:eq(3)").css({
"margin-left": (960 - (x * 2)) + "px"
});
hantei = true;
});
} else {
return false;
}
});
});
</script>
<style>
* {
margin: 0;
padding: 0;
border: 0;
}
#main {
position: relative;
width: 960px;
height: 500px;
border: 1px solid #000;
margin: 0 auto;
overflow: hidden;
}
#main ul li {
display: inline-block;
width: 320px;
height: auto;
box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.5);
}
#main ul li img {
width: 100%;
height: auto;
vertical-align: bottom;
}
.mainImg,
#main ul li:nth-child(3) {
position: absolute;
}
</style>
<div id="main"> <ul><!-- --><li><img src="image/topimg1.jpg"></li><!-- --><li><img src="image/topimg2.jpg"></li><!-- --><li><img src="image/topimg3.jpg"></li><!-- --><li><img src="image/topimg4.jpg"></li><!-- --><li><img src="image/topimg5.jpg"></li><!-- --></ul> </div>
