CrazyJugglerDrummerの試みから作業している場合は、 a
sではなくsを非表示にしてから循環させたいと思うでしょうimg
。next('img')
それ以外の場合は、それが存在しない場所を探します。
updateCSSとjsが混在しているようです。私は今それを次のように機能させています:
<div class="fadein">
<a href="yahoo.com"><img src="banner1.jpg" width="645" height="307"/></a>
<a href="google.com"><img src="banner2.jpg" width="645" height="307"/></a>
<a href="live.com"><img src="banner3.jpg" width="645" height="307"/></a>
</div>
<script>
$(function(){
$('.fadein a:gt(0)').hide();
setInterval(function(){$('.fadein a:first-child').fadeOut().next('a').fadeIn().end().appendTo('.fadein');}, 4000);
});
</script>
CSSを使用
.fadein { position:relative; width:645px; height:307px; }
.fadein a { position:absolute; left:0; top:0; display:block; text-decoration:none; }
img { border:0; display:block; }
アンカーと画像がブロックで表示されていること、およびアンカーに絶対位置が設定されていることを確認する必要があります。また:first-child
、画像が薄くならないようにさらに指定する必要があります。
1.3.2jQueryとXHTMLStrictを使用してさらに更新します。FF、IE6-8、Safari、Chrome、Operaで動作します。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<style type="text/css">
.fadein { position:relative; width:645px; height:307px; }
.fadein a { position:absolute; left:0; top:0; display:block; text-decoration:none; }
img { border:0; display:block; }
</style>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script>
$(document).ready(function(){
$('.fadein a:gt(0)').hide();
setInterval(function(){$('.fadein a:first-child').fadeOut().next('a').fadeIn().end().appendTo('.fadein');}, 4000);
});
</script>
</head>
<body>
<div class="fadein">
<a href="yahoo.com"><img src="banner1.jpg" width="645" height="307" alt="1" /></a>
<a href="google.com"><img src="banner2.jpg" width="645" height="307" alt="2" /></a>
<a href="live.com"><img src="banner3.jpg" width="645" height="307" alt="3" /></a>
</div>
</body>
</html>