我不知道从哪里开始这个想法。我正在使用下面的 jQuery 来显示每个页面加载的随机图像。我想扩展它以显示每个图像的特定标题,这些图像显示在不同的 div 中。
下面的函数输出格式为 image1.jpg、image2.jpg 等的随机 image.jpg。我在想我需要为每个图像提供一个标题数组,但是如何引用该数组并通过函数中的图像名称?
<script>
(function($){
$.randomImage = {
defaults: {
path: 'headerimages/',
myImages: ['image1.jpg', 'image2.jpg','image3.jpg','image4.jpg','image5.jpg','image6.jpg' ]
}
}
$.fn.extend({
randomImage:function(config) {
var config = $.extend({}, $.randomImage.defaults, config);
return this.each(function() {
var imageNames = config.myImages;
var imageNamesSize = imageNames.length;
var randomNumber = Math.floor(Math.random()*imageNamesSize);
var displayImage = imageNames[randomNumber];
var fullPath = config.path + displayImage;
$(this).attr( { src: fullPath, alt: displayImage });
});
}
});
})(jQuery);
</script>
上面函数中的图像由 html 显示<img class="randomheader" src="" alt="image">
标题将在不同的 div 中,即<div class="caption"></div>
CSS#caption
可能会display:none
在 jQuery 加载之前出现。
这是文档就绪功能:
<script>
$(document).ready(function(){
$('.randomheader').randomImage();
});
</script>