【发布时间】:2011-07-19 17:56:21
【问题描述】:
我有一个简单的页面,它从数组中加载随机图像,并使用 CSS 中的负边距将其居中放置。这目前有效,因为所有图像的大小都相同,但我想调整代码以便它可以容纳不同尺寸的图像。
是否可以在数组阶段计算图像的高度和宽度,然后将其传递给 CSS/HTML 以将其居中定位?这是我目前正在使用的代码——任何帮助将不胜感激。
HTML/CSS:
#content {
margin-top: -206px;
margin-left: -290px;
position: absolute;
top: 50%;
left: 50%;
width: auto;
height: auto;
}
<div id="content">
<img class="shuffle" src="" width="580" height="413" border="0" alt="" />
</div>
JQuery:
$(document).ready(function() { $('.shuffle').randomImage({path: 'images/'}); } );
(function($){ $.randomImage = { defaults: { path: 'images/', myImages: [ 'image01.jpg', 'image02.jpg','image03.jpg', 'image04.jpg', 'image05.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 selectedImage = imageNames[randomNumber];
var fullPath = config.path + selectedImage;
$(this).attr( { src: fullPath, alt: selectedImage } );
});
}
});
})(jQuery);
【问题讨论】:
标签: jquery css image random center