gpt4 book ai didi

javascript - 使用jQuery/javascript创建动态图片 : what am I doing wrong?

转载 作者:太空宇宙 更新时间:2023-11-04 15:38:04 25 4
gpt4 key购买 nike

请查看以下代码:(为了便于阅读,我删除了所有文档类型等)。

我想这段代码很容易解释:javascript 代码从下图中检索高度和宽度,并创建两个新变量(newHeight 和 newWidth),它们缩小了原始值的 80%。加载文档时,应将这两个新变量(newHeight 和 newWidth)分配给图像的高度和宽度属性,但这并没有发生。

有人可以帮帮我吗?

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript" />

<script type="text/javascript">
var width = $("#fluidimage").width();
var height = $("#fluidimage").height();

var imageresize = 80;
var newHeight = Math.round(height/100)*imageresize);
var newWidth = Math.round(width/100)*imageresize);
</script>

</head>
<body onload="document.getElementById('#fluidimage').style.width=newWidth; document.getElementById('#fluidimage').style.height=newHeight;">
<img src="images/1.jpg" id="fluidimage" height="" width="" />
</body>
</html>

最佳答案

您需要等待整个文档加载完毕(图片最后加载),以便图片具有可检测的大小。

这段代码应该可以工作:

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript" />

<script type="text/javascript">
$(window).load ( function () {
var width = $("#fluidimage").width();
var height = $("#fluidimage").height();

var imageresize = 80;
var newHeight = Math.round(height*imageresize/100);
var newWidth = Math.round(width*imageresize/100);

$("#fluidimage").width (newWidth).height (newHeight);
} );
</script>

</head>
<body>
<img src="images/1.jpg" id="fluidimage" />
</body>
</html>


See it in action at jsFiddle.


请注意,数学运算需要在四舍五入之前进行。

此外,jQuery 允许您将 JS“简化”为:

$(window).load ( function () {

function resizer (index, measurement) {
var imageresize = 80;
this.wCall = (typeof this.wCall == "null") ? true : this.wCall ^ true;
return this.wCall ? Math.round (measurement * imageresize / 100) : measurement;
}
$("#fluidimage").width (resizer).height (resizer);
} );


See that in action at jsFiddle.

关于javascript - 使用jQuery/javascript创建动态图片 : what am I doing wrong?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6801102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com