gpt4 book ai didi

jquery - 如何获取图像的原始大小-Jquery

转载 作者:行者123 更新时间:2023-12-03 22:41:53 31 4
gpt4 key购买 nike

已解决:语法错误

以下代码有效:

var image = {width:0,height:0};
var imageObject = new Image();
function getImageSize(id) {
imageObject.src = id.attr("src");
image.width = imageObject.width;
image.height = imageObject.height;
}
<小时/>

原始问题

我想获取图像的原始宽度和高度,并尝试了不同的代码来实现它。我的函数在点击事件时触发,所有图像都调整为 400x300。

我尝试使用 auto 将图像大小调整为其原始大小:

var image = {width:0,heigth:0};
function getImageSize(id) {
id.css({
'width': 'auto',
'heigth': 'auto'
});
image.width = id.attr('width');
image.heigth = id.attr('heigth');
}

附加auto并没有改变图像的大小。

alert(id.attr('width')); 始终返回“未定义”。所以它不起作用

var image = {width:0,heigth:0};
var imageObject = new Image();
function getImageSize(id) {
imageObject.src = id.attr("src");
image.width = imageObject.width;
image.heigth = imageObject.heigth;
}

alert(image.width); 工作完美。

alert(image.heigth); 返回未定义。

使用 imageObject.naturalWidth 的工作方式与上面的相同 - 宽度给出正确,但高度未定义。

我读到您必须附加新的图像对象,但是当我使用 imageObject.appendTo('body'); 时,我什至无法单击该图像。

感谢您的任何建议。

最佳答案

这是一个简单的包含示例,将图像替换为更改后具有原始尺寸的图像。

<img src="http://www.finesttreeserviceaz.com/wp-content/uploads/2012/02/tree2.gif" id="bar" />
<script type="text/javascript">
var myImg = document.getElementById("bar");
myImg.setAttribute("style", "width:400px;height:300px;");
function resetBar() {
var newImg = new Image();
var oldImage = document.getElementById("bar");
newImg.src = oldImage.src;
oldImage.parentNode.replaceChild(newImg, oldImage);
}
setTimeout("resetBar();", 2000);
</script>

另一种方法是删除已应用的样式:

myImg.removeAttribute("style");

关于jquery - 如何获取图像的原始大小-Jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12254759/

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