Pourquoi onLoad ne se déclenche-t-il pas?
function FULL_IMAGE(fimage){
document.getElementById("FULL_SRC").onLoad = function(){
offsetTop = document.getElementById("FULL_SRC").height / 2;
offsetLeft = document.getElementById("FULL_SRC").width / 2;
document.getElementById("FULL_SRC").style.marginTop="-"+offsetTop+"px";
document.getElementById("FULL_SRC").style.marginLeft="-"+offsetLeft+"px";
}
document.getElementById("FULL_SRC").src=fimage;
document.getElementById("FULL_VIEW").style.display="block";
}
parfois, lorsque l'image est récupérée à partir du cache du navigateur, l'événement onload n'est pas déclenché, vous pouvez donc faire un petit hack:
function FULL_IMAGE(fimage) {
var loaded = false;
function loadHandler() {
if (loaded) {
return;
}
loaded = true;
/* your code */
}
var img = document.getElementById('FULL_SRC');
img.addEventListener('load', loadHandler);
img.src = fimage;
img.style.display = 'block';
if (img.complete) {
loadHandler();
}
}
Dans mon code d'origine, j'ai utilisé onLoad
pas onload
... la deuxième ligne de code devrait se lire
document.getElementById("FULL_SRC").onload = function(){
avec un "l
" minuscule dans onload
.