Resizing background images requires a further study with jQuery. I've tried a simple experiment by using 11 different background images depicting the same image but with scaling and proportional dimensions. I've then applied each image to a different CSS class to be used on the same element. The CSS code is as follows:
div {
width: 300px;
height: 300px;
background-position: 50% 0;
background-repeat: no-repeat;
background-image: url(splat-1.jpg);
border: 1px solid gray;
}
.size2 {
background-image: url(splat-2.jpg);
}
.size3 {
background-image: url(splat-3.jpg);
}
.size4 {
background-image: url(splat-4.jpg);
}
.size5 {
background-image: url(splat-5.jpg);
}
.size6 {
background-image: url(splat-6.jpg);
}
.size7 {
background-image: url(splat-7.jpg);
}
.size8 {
background-image: url(splat-8.jpg);
}
.size9 {
background-image: url(splat-9.jpg);
}
.size10 {
background-image: url(splat-10.jpg);
}
.size11 {
background-image: url(splat-11.jpg);
}
Then I've created a JavaScript timer that changes such classes every 100 milliseconds:
$(document).ready(function() {
var counter = 0;
var interval = setInterval(function() {
counter += 1;
if(counter == 11) {
clearInterval(interval);
}
$('div').addClass('size' + counter);
}, 100);
});
I've uploaded a video that shows the results in Firefox 4: