views:

32

answers:

1

http://grab.by/1rI8

I wrote some jQuery script so that the background image will always scale and will never show a blank spot.

    function runIt() {
currentHeight = $("#bg").height() //useless for you
currentWidth = $("#bg").width() //useless for you
ccurrentHeight = $("#cover").height() //useless for you
ccurrentWidth = $("#cover").width() //useless for you
wcurrentHeight = $(window).height() //useless for you
wcurrentWidth = $(window).width() //useless for you
$("#auto").empty() //useless for you
$("#auto").append('BG Current Height:"'+currentHeight+'"Width"'+currentWidth+'"<br \>') //useless for you
$("#auto").append('Cover Current Height:"'+ccurrentHeight+'"Width"'+ccurrentWidth+'"<br \>') //useless for you
$("#auto").append('Window Current Height:"'+wcurrentHeight+'"Width"'+wcurrentWidth+'"') //useless for you
if ($("#bg").height() < $(window).height()) {
//  $("#bg").empty() //useless for you
//  $("#bg").append('<img src="'+imgPath+'" style="height:100%" />') //useless for you
        $("#bg").css({
        width: $("#cover").width(),
        height: "auto"
        })
    }
else {
//  $("#bg").empty() //useless for you
//  $("#bg").append('<img src="'+imgPath+'" style="width:100%" />') //useless for you
        $("#bg").css({
        height: $("#cover").height(),
        width: "auto"
        })
    }
}
setInterval(runIt, 50);

Anyone have any ideas as to why this isn't working properly?

Thanks, Switz

A: 
    function runIt() {
 winprop = $(window).height() / $(window).width();
 var bgprop = $("#bgimg").height() / $("#bgimg").width();
 if(winprop < bgprop)
 {
         $("#bgimg").css({
         width: $(window).width(),
         height: "auto"
         })
 } else {
         $("#bgimg").css({
         width: "auto",
         height: $(window).height()
         })
    }
}
function doSomething() {
    alert("I'm done resizing for the moment");
};
 runIt();
var resizeTimer = null;
$(window).bind('resize', function() {
    if (resizeTimer) clearTimeout(resizeTimer);
    resizeTimer = setTimeout(runIt, 20);
});

Give the Bg image to its own id. Change the size of the image, not the div.

Switz