@
xingzhi 自己寫的js 就一個function 貼出來給你看看有沒有用。
function photo_offset_position() {
$('div.preview_block').each(function() {
var div = $(this);
var divRatio = div.width() / div.height();
var img = $('img', this);
var imgRatio = img.width() / img.height();
if (divRatio == 1) {
if (imgRatio > 1) {
img.css('height', div.height());
var offsetX = (img.width() - div.width()) / 2;
if (offsetX > 0)
img.css('left', -1 * offsetX + 'px');
}
else if (imgRatio < 1) {
img.css('width', div.width());
var offsetY;
if (img.height() / 2 >= div.height())
offsetY = img.height() / 2 - div.height();
else
offsetY = (img.height() - div.height()) / 2;
img.css('top', -1 * offsetY + 'px');
}
else {
img.css('height', div.height());
}
}
else {
if (divRatio < imgRatio) {
img.css('height', div.height());
var offsetX = (img.width() - div.width()) / 2;
if (offsetX > 0)
img.css('left', -1 * offsetX + 'px');
}
else if (divRatio > imgRatio) {
img.css('width', div.width());
img.css('left', 0);
var offsetY;
if (img.height() / 2 >= div.height())
offsetY = img.height() / 2 - div.height();
else
offsetY = (img.height() - div.height()) / 2;
img.css('top', -1 * offsetY + 'px');
}
else {
img.css('height', div.height());
}
}
});
}
沒有注釋的好習慣-- 將就著看吧