Jquery 如何避免在加载页面后重新安排页面? /01.jpg'alt=“img”> $(“#imgT”).css(“高度”,90+“vh”);//我需要避免滚动以查看整个图像。 变量a=$(“#imgT”).width()+3; 警告(a);//结果是3,而不是实际宽度 $(“#容器”).css(“宽度”,a); ...

Jquery 如何避免在加载页面后重新安排页面? /01.jpg'alt=“img”> $(“#imgT”).css(“高度”,90+“vh”);//我需要避免滚动以查看整个图像。 变量a=$(“#imgT”).width()+3; 警告(a);//结果是3,而不是实际宽度 $(“#容器”).css(“宽度”,a); ...,jquery,image,Jquery,Image,在css文件中,除了显示:块,没有关于imgT的任何内容 因此,在这个场景中,js将0显示为imgTwidth,即没有看到它 当我将js代码放在一个单独的.js文件中时,除了在页面加载结束时重新调整丑陋的图像大小外,一切都正常 我希望避免在加载页面后重新调整页面大小,即在加载图像后重新调整页面大小,但javascript无法正确查看其宽度 有什么帮助吗?您的代码在创建image元素后运行,但是内部映像的加载是异步的。您需要等到中的图像完全加载后,JavaScript才会报告正确的测量值: <

在css文件中,除了显示:块,没有关于
imgT
的任何内容

因此,在这个场景中,js将
0
显示为
imgT
width,即没有看到它

当我将js代码放在一个单独的.js文件中时,除了在页面加载结束时重新调整丑陋的图像大小外,一切都正常

我希望避免在加载页面后重新调整页面大小,即在加载图像后重新调整页面大小,但javascript无法正确查看其宽度


有什么帮助吗?

您的代码在创建image元素后运行,但是内部映像的加载是异步的。您需要等到
中的图像完全加载后,JavaScript才会报告正确的测量值:

<body>
<img id='imgT' src='<?php echo $folder;?>/01.jpg' alt="img">

<script>
    $("#imgT").css("height" , 90 + "vh");  // I need to avoid scrolling to see the entire image.
    var a = $("#imgT").width() + 3;
    alert (a); // result is 3 instead of real width
    $("#container").css("width", a);
</script>

...
</body>

$(窗口)。加载(函数(){
$(“#imgT”).css(“height”,90+“vh”);//我需要避免滚动以查看整个图像。
变量a=$(“#imgT”).width()+3;
警报(a);//结果是3而不是实际宽度
$(“#容器”).css(“宽度”,a);
});

$(窗口).load(函数(){
子句仅在所有异步元素(如
完全加载后执行

您的代码在创建图像元素后运行,但是内部图像的加载是异步的。您需要等待
中的图像完全加载,然后才是JavaScript将报告正确的测量值:

<body>
<img id='imgT' src='<?php echo $folder;?>/01.jpg' alt="img">

<script>
    $("#imgT").css("height" , 90 + "vh");  // I need to avoid scrolling to see the entire image.
    var a = $("#imgT").width() + 3;
    alert (a); // result is 3 instead of real width
    $("#container").css("width", a);
</script>

...
</body>

$(窗口)。加载(函数(){
$(“#imgT”).css(“height”,90+“vh”);//我需要避免滚动以查看整个图像。
变量a=$(“#imgT”).width()+3;
警报(a);//结果是3而不是实际宽度
$(“#容器”).css(“宽度”,a);
});

$(window).load(function(){
子句只有在像
这样的异步元素都被完全加载后才会执行。如果不想重新调整大小写,则必须使用php获得宽度并插入。因此:
$size=getimagesize($folder./01.jpg”);width=size[0];


您还必须使用php计算高度。

如果您不想重新调整,您必须使用php获得宽度并插入它。因此:
$size=getimagesize($folder./01.jpg”);width=size[0];


您还必须使用php计算高度。

香蕉,谢谢,我理解,但这并不能解决问题。仍然需要使用
$(窗口)重新安排页面.load
那么我可能误解了这个问题,你说的“额外重新排列”是什么意思?一旦加载页面,更改
imgT
的大小,所有内容都会上下左右移动,这取决于启动
imgT
的大小。我想防止最终用户看到这一点。这看起来不专业。我知道,如果你不想让事情重新安排的唯一原因是,为了让用户不必看到所有这些,你可以使用一个黑屏覆盖div,当所有内容都完全加载后,它会消失,并在上面粘贴一个“Loading…”?你是说黑屏覆盖div覆盖
主体
,然后使用
$(窗口)将其删除。load()
?香蕉,谢谢,我理解,但这并不能解决问题。仍然需要使用
$(窗口)重新安排页面.load
那么我可能误解了这个问题,你说的“额外重新排列”是什么意思?一旦加载页面,更改
imgT
的大小,所有内容都会上下左右移动,这取决于启动
imgT
的大小。我想防止最终用户看到这一点。这看起来不专业。我知道,如果你不想让事情重新安排的唯一原因是,为了让用户不必看到所有这些,你可以使用一个黑屏覆盖div,当所有内容都完全加载后,它会消失,并在上面粘贴一个“Loading…”?你是说黑屏覆盖div覆盖
主体
,然后使用
$(窗口)将其删除。load()
?Mainz007,在获得图像的宽度和高度后,该怎么做?我如何使用php更改
#container
的宽度?因为这种更改是在末尾重新安排页面的主要原因。在图像的src中使用短php代码的方式,也可以在脚本中使用它。因此
$(“#container”).css(“宽度”)
Mainz007,
imgT
width
是动态的,也就是说,它只有在根据viewport更改其
height
后才有效。因此我使用
$(“#imgT”).css(“height”,90+“vh”)
之后,我需要计算
imgT
宽度。我相信不可能通过php.Mainz007获得用户的视口高度,在获得图像的宽度和高度后会发生什么?我如何使用php更改
#容器的宽度
呢?因为这种更改是在最后重新安排页面的主要原因。Th在图像的src中使用短php代码的方式,您也可以在脚本中使用它。因此
$(“#容器”).css(“宽度”);
Mainz007,
imgT
width
是动态的,也就是说,它只有在根据视口更改其
高度后才有效。因此我使用
$(“#imgT”).css(“高度”,90+“vh”)
之后,我需要计算
imgT
width。我相信通过php无法获得用户的视口高度。