JQueryで自動スライド

JQueryで自動スライドできるJavaScriptです。
3秒間放置で写真がスライドします。
ボタンをクリックすることでスライドさせることも可能です。

↓以下が実際のソースサンプルです。

▼JavaScript

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
 <script>
$(function(){
	//ページングの設定
	$("#slide li").each(function(){
		$("#paging").append($("<li></li>").attr("data-img",$("img",this).attr("src")));
	});
	$("#paging li:first-child").addClass("active");
	
	//自動スライドの実行
	var timerId = setInterval(function(){
		$("#nav .next").click();
	},1500);

	//自動スライドの制御
	$("#slideGalley").hover(function(){
		$("#nav").show();
		clearInterval(timerId);
	},function(){
		$("#nav").hide()
		timerId = setInterval(function(){
			$("#nav .next").click();
		},1500);
	});

	//右矢印ボタンが押された際の挙動
	$("#nav .next").click(function(){
		$("#slide:not(:animated)").animate({
			"margin-left" : -1*$("#slide li").width()
		},function(){
			$("#slide").css("margin-left","0").append($("#slide li:first-child"));
			$("#paging li.active").removeClass("active");
			$("#paging li[data-img='"+$("#slide li:first-child img").attr

("src")+"']").addClass("active")
		});
	});

	//左矢印ボタンが押された際の挙動
	$("#nav .prev").click(function(){
		$("#slide:not(:animated)")
			.css("margin-left",-1*$("#slide li").width())
			.prepend($("#slide li:last-child"))
			.animate({
			"margin-left" : 0
		},function(){
			$("#paging li.active").removeClass("active");
			$("#paging li[data-img='"+$("#slide li:first-child img").attr

("src")+"']").addClass("active")
		});
	});
});
		</script>

▼CSS

test@charset "utf-8";
/* Baselayout Style */
ul#menu{
	width:800px;
	margin:0;
	padding:0;
}
*{
	margin:0px;
	padding:0px;
	list-style-type:none;
	}
#container{
	margin:20px auto;
	width:800px;
}
ul.sub{
	display:none;
}
ul.menu:after {
	height:0;
	visibility:hidden;
	display:block;
	clear:both;
}
#container{
	width:800px;
	margin:0px auto;
}
#slideGalley{
	width:800px;
	position: relative;
	overflow:hidden;
}
#slide{
	width:2400px;
}
#slide li{
	float:left;
}
#paging{
	text-align: center;
	position: absolute;
	width:100%;
	bottom:10px;
}
#paging li{
	display: inline-block;
	*display: inline;
	*zoom:1;
	width:20px;
	height:20px;
	background: url(./image/page.png);
}
#paging li.active{
	background: url(./image/page_active.png);
}
#nav{
	display: none;
}
#nav .prev{
	position: absolute;
	left:10px;
	top:50%;
	margin-top:-50px;
}
#nav .next{
	position: absolute;
	right:10px;
	top:50%;
	margin-top:-50px;
}
	

▼HTML

	<div id="container">
	<div id="slideGalley">

	<ul id="slide">
	<li><a href="/image/a1.jpg"><img src="image/a1.jpg" width="800" /></a></li>
	<li><a href="/image/a2.jpg"><img src="image/a2.jpg" width="800" /></a></li>
	<li><a href="/image/a3.jpg"><img src="image/a3.jpg" width="800" /></a></li>
	</ul>
		<div id="nav"> <img src="./image/nav_prev.png" class="prev" /> 
		<img src="./image/nav_next.png" class="next" /> </div>
		    <ul id="paging">
	        </ul>
	     </div>
	 </div>

デモページは、こちら