gpt4 book ai didi

javascript - HTML 和 JS 中 div 的重叠问题

转载 作者:行者123 更新时间:2023-12-03 10:17:45 24 4
gpt4 key购买 nike

我正在尝试使用 html 和 js 旋转 div 中的图像。除了重叠问题之外,它在大部分情况下都可以工作:图像要么覆盖所有内容,要么在旋转过程中重叠。我以为我已经用我的 js 公式解决了这个问题,该公式根据图像大小设置 div 大小,但是它不起作用,我不知道为什么。有什么想法吗?

<html>
<head>
<style>
#photoimg {
top: 0;
bottom: 0;
left: 0;
right: 0;
}
#photo {
position: relative;
}
</style>
</head>
<body>
<form action="#" method="post">
<input type="url" name="imglink" id="imglink" placeholder="Insert image URL here" /><br>
<input type="button" value="Show Image" id="btn1"/>
</form>
<div id="photo"></div>
<script>
document.getElementById('btn1').addEventListener('click', function(){
document.getElementById('photo').innerHTML = '<img id="photoimg" src="'+ document.getElementById('imglink').value +'" alt="Image"/>';
//Get larger edge
var largerPhotoDimension = Math.sqrt(Math.pow(document.getElementById('photoimg').offsetWidth , 2) + Math.pow(document.getElementById('photoimg').offsetHeight ,2) );
//Adjust container to fix image roted 90deg
document.getElementById('photo').offsetWidth(largerPhotoDimension);
document.getElementById('photo').offsetHeight(largerPhotoDimension);
});
</script>
<button id="button">rotate</button>
<script>
document.getElementById('button').onclick = function(){
var curr_value = document.getElementById('photoimg').style.transform;
var new_value = "rotate(90deg)";
if(curr_value !== ""){
var new_rotate = parseInt(curr_value.replace("rotate(","").replace(")","")) + 90;
new_value = "rotate(" + new_rotate + "deg)";
}
document.getElementById('photoimg').style.transform = new_value;
};
</script>
</body>
</html>

最佳答案

只需添加这两行

    document.getElementById('photoimg').style.height = document.getElementById("photo").offsetWidth;
document.getElementById('photoimg').style.width = document.getElementById('photo').offsetHeight;

下面

    document.getElementById('photoimg').style.transform = new_value;

关于javascript - HTML 和 JS 中 div 的重叠问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29785242/

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