配列のランダムイメージをロードし、CSSの負のマージンを使用して中央に配置する単純なページがあります。これは現在すべての画像が同じサイズであるため動作しますが、さまざまなサイズの画像に対応できるようにコードを調整したいと思います。jqueryを使用してさまざまな次元のランダムイメージを表示する
イメージの高さと幅を配列段階で計算し、それを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);