jQuery ---- ローテーションバナーを作ってみる。
画像が一定期間で、ローテーションする「ローテーションバナー」を作ってみる。
①完成図 このバナーが一定期間で「バナー1」から「バナー4」へと変わっていく(そしてそれを繰り返す)。
なお完成サンプルは↓
http://m-uehara.com/rotation001/
ファイルダウンロードは
rotation001.zipです。
ファイル構成
- index.html
- slide.js
- style.css
の3つです。
コード
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Contents-Script-Type" content="text/javascript" />
<title>ローテーションバナー</title>
<link href="style.css" rel="stylesheet" type="text/css" media="all" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script type="text/javascript" src="slide.js"></script>
</head>
<body>
<script language="JavaScript" type="text/javascript">
$(document).ready(function() {
$('ul#rotation').slide();
});
</script>
<ul id="rotation">
<li><a href="#"><img src="pict01.jpg" width="468" height="60" alt="リンク先サイト名" /></a></li>
<li><a href="#"><img src="pict02.jpg" width="468" height="60" alt="リンク先サイト名" /></a></li>
<li><a href="#"><img src="pict03.jpg" width="468" height="60" alt="リンク先サイト名" /></a></li>
<li><a href="#"><img src="pict04.jpg" width="468" height="60" alt="リンク先サイト名" /></a></li>
</ul>
</body>
</html>
slide.js
(function($) {
$.fn.slide = function(settings) {
settings = jQuery.extend({
firstload : 0,
showmode : "normal", // [ random | normal ]
action : "auto", // [ auto | click ]
interval_mode : "randum", // [ random | normal ]
interval_normal : 2000,
interval_min : 2000,
interval_max : 5000,
animation : true, // [ true | false ]
fadespeed : 1000
}, settings);
var _root = this;
var max = $(this).find("li").length;
var current = settings.firstload;
$(this).find("li").not(":eq(" + current + ")").hide();
if(settings.action == "auto") {
intervalmode_check();
} else if(settings.action == "click") {
$(this).click(animation);
}
function intervalmode_check() {
if(settings.interval_mode == "normal") {
setTimeout(animation, settings.interval_normal);
} else {
var time = settings.interval_min + Math.floor(Math.random() * (settings.interval_max + 1));
setTimeout(animation, time);
}
}
function animation() {
var prev = $(_root).find("li").eq(current);
var n = current;
if(settings.showmode == "normal") {
if(current == (max- 1)) {
current = 0;
} else {
current++;
}
} else {
current = Math.floor(Math.random() * max);
}
var next = $(_root).find("li").eq(current);
if(n == current) {
animation();
} else {
if(settings.animation == true) {
prev.fadeOut(settings.fadespeed);
next.fadeIn(settings.fadespeed);
} else {
prev.hide();
next.show();
}
intervalmode_check();
}
}
}
})(jQuery);
style.css
body{
margin:0px;
padding:0px;
}
ul#rotation {
margin:0;
padding:0;
position:relative;
list-style:none;
}
ul#rotation li {
margin:0;
padding:0;
position:absolute;
top:0;
left:0;
display: block;
margin: 0 auto;
}
a img {
border-style:none;
}
Author And Source
この問題について(jQuery ---- ローテーションバナーを作ってみる。), 我々は、より多くの情報をここで見つけました https://qiita.com/tsukishimaao/items/e0b57baa4c3fa61ec6f6著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .