Php Gif图像仅在完全加载后调整大小

Php Gif图像仅在完全加载后调整大小,php,javascript,Php,Javascript,Gif只有在Gif完全加载后才会调整大小。如何在加载时调整gif的大小 我使用多个GIF,所以它们有不同的尺寸,所以我不能只做通常的100%高度和宽度,我想保持正确的方面 我用来调整gif大小的脚本 <script> function resizeToMax(id){ myImage = new Image() var img = document.getElementById(id); myImage.src = img.src; if(myIm

Gif只有在Gif完全加载后才会调整大小。如何在加载时调整gif的大小

我使用多个GIF,所以它们有不同的尺寸,所以我不能只做通常的100%高度和宽度,我想保持正确的方面

我用来调整gif大小的脚本

<script>
function resizeToMax(id){
    myImage = new Image() 
    var img = document.getElementById(id);
    myImage.src = img.src; 
    if(myImage.width / document.body.clientWidth > myImage.height / document.body.clientHeight){
        img.style.width = "100%";
    } else {
        img.style.height = "100%";
    }
}
</script>

函数resizeToMax(id){
myImage=新映像()
var img=document.getElementById(id);
myImage.src=img.src;
if(myImage.width/document.body.clientWidth>myImage.height/document.body.clientHeight){
img.style.width=“100%”;
}否则{
img.style.height=“100%”;
}
}
显示图像的php

<?php 
echo '<img id="image" onload="resizeToMax(this.id)" src="gifs/' . $myTokens[1] . '/' . $myTokens[2] . '.gif">';
?>   

使用
window.onload
事件确保在窗口加载开始时调整大小有效

<script>
window.onload = function() {
    resizeToMax("image");
};

function resizeToMax(id){
    myImage = new Image() 
    var img = document.getElementById(id);
    myImage.src = img.src; 
    if(myImage.width / document.body.clientWidth > myImage.height / document.body.clientHeight){
        img.style.width = "100%";
    } else {
        img.style.height = "100%";
    }
    document.getElementById(id).style.display = "block";
}
</script>

<?php 
echo '<img id="image" style="display:none;" src="gifs/' . $myTokens[1] . '/' . $myTokens[2] . '.gif">';
?> 

window.onload=函数(){
resizeToMax(“图像”);
};
函数resizeToMax(id){
myImage=新映像()
var img=document.getElementById(id);
myImage.src=img.src;
if(myImage.width/document.body.clientWidth>myImage.height/document.body.clientHeight){
img.style.width=“100%”;
}否则{
img.style.height=“100%”;
}
document.getElementById(id).style.display=“block”;
}

或者在css中隐藏图像,并在调整大小后在函数中显示。

您可以做的一件事是将图像隐藏到加载之前(例如添加css类),然后在
resizeToMax
函数中,删除隐藏图像的CSS类。

仅当图像加载完成时才会触发onload事件。 同时,您可以使用css的宽度和/或高度属性,甚至最大宽度和最大高度

风险在于您还不知道图像的比例,因此图像在加载时可能会失真


最好的解决方案是用占位符替换图像,加载图像而不显示它(例如,在屏幕窗口之外),然后调整大小并将其显示在正确的位置删除占位符。

这与java有关吗?删除加载?只有在图像加载后才会触发。图像是否需要灵活?或者您可以使用
style=“width:100px;height:120px”
来“修复”您的问题吗?似乎我误解了您的问题,我删除了答案。请验证目前在泰国的答案。现在装货不是我的朋友你怎么用?我也有同样的问题
window.onload=function(){}你的意思是什么?我如何使用它?伙计,我不知道我现在是个什么都不懂的家伙哈哈,看看我编辑过的答案,告诉我你是否写了同样的答案,你可以把它塞进我已经给你的代码中,以确保它都是正确的……干杯,巴迪亚,这是一个不这样做的想法,只要在加载的同时全屏显示gif就行了