2009-12-30 4 views
0

http://grab.by/1rI8image ne reflète pas ses propriétés

j'ai écrit un script jQuery afin que l'image de fond sera toujours l'échelle et ne sera jamais montrer une tache blanche.

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); 

Quelqu'un at-il des idées pour expliquer pourquoi cela ne fonctionne pas correctement?

Merci, Switz

+2

Le code HTML/CSS en soi constituerait un bon ajout à cette question ... – jchapa

Répondre

0
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); 
}); 

Donnez l'image Bg à son propre id. Changez la taille de l'image, pas la div.

Questions connexes