Malsupのカルーセルを使用して、Web ページにカルーセルを追加しました。さらにやりたいことは、カルーセルに動的に供給される画像に各画像のファイル名を自動的に追加することです。画像は定期的に変更しますが、画像の量も変わる可能性があります。誰かが各画像のファイル名を画像の下部 (おそらく画像の上に重ねて表示) または画像の下の「Alt」名が表示されるスペースに追加する方法を提案できれば非常にありがたいです。
皆さんが与えることができる助けを前もって感謝します。
乾杯、デビッド
マークアップは次のとおりです。
<div id="slideshow" class="pics">
<img src="sliderimages/ride_4481.jpg" width="400" height="300" />
<img src="sliderimages/ride_4482.jpg" width="400" height="300" />
次のように CSS スタイリングを使用します。
.pics {
height: 332px;
width: 432px;
padding: 0;
margin: 10px auto;
display: block;
border: 1px solid #ccc;
border-radius: 8px;
}
.pics img {
padding: 15px;
border: 1px solid #ccc;
background-color: #eee;
width: 400px;
height: 300px;
top: 0;
left: 0;
border-radius: 8px;
}
スライドショーを実行するスクリプトは次のとおりです (リマインダーとして役立つコメントがたくさんあります:
<script type="text/javascript" src="js/jquery.cycle.all.js"></script>
<script type="text/javascript" src="js/jquery.easing.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
// start slideshow
$('#slideshow').cycle({
fx: 'cover',
easing: 'easeOutBounce',
pause: 1,
speed: 1000,
timeout: 1500,
before: onBefore
});
var slidesAdded = false;
function onBefore(curr, next, opts) {
// Make sure not to call addSlide before it is defined
if (!opts.addSlide || slidesAdded)
return;
// Add slides for images 3 - 8 or whatever number of slides you want to add. Just amend the var i=3; < x; i++ functions below where x is any number.
// Also ensure you have this number of pictures available or you will get grey placeholders instead!
// Slides can be a DOM element, a jQuery object, or a string
for (var i=3; i < 3; i++)
opts.addSlide('<img src="sliderimages/ride_448'+i+'.jpg" width="400" height="300" />');
slidesAdded = true;
};
});
</script>