gpt4 book ai didi

JavaScript onresize 事件未触发

转载 作者:行者123 更新时间:2023-11-30 17:28:01 26 4
gpt4 key购买 nike

我正在尝试在调整浏览器大小时调整背景图片的边框宽度。我正在调用该函数 onloadonresize。不幸的是,只有 onload 被调用。因此,当我调整浏览器大小时,我必须刷新页面才能看到更新后的边框宽度。控制台中没有错误消息,其他一切工作正常 - 就好像我什至没有编写调整大小的监听器。

w = window.innerWidth;
h = window.innerHeight;
hypotenuse = Math.sqrt(w * w + h * h);
borderWidth = window.hypotenuse/74;

function adjustBorder(width) {
document.getElementById('tileBlock').style.borderWidth = width + 'px';
}

window.onload=function(){
adjustBorder(borderWidth);
}

window.onresize = function() {
adjustBorder(borderWidth);
}

<div class="wrapper" id="tileBlock"></div>

#tileBlock {
position: fixed;
background-color: #0b0b0b;
background-position: center;
background-repeat: no-repeat;
background-image: url(photo.jpg);
border: 20px solid #fff;
background-size: cover;
}

最佳答案

问题是您只在第一次加载 javascript 时定义您的 borderwidth。当窗口改变时需要改变它。类似的东西:

function adjustBorder(width) {
document.getElementById('tileBlock').style.borderWidth = width + 'px';
}

window.onload=function(){
var borderWidth = getBorderWidth();
adjustBorder(borderWidth);
}

window.onresize = function() {
var borderWidth = getBorderWidth();
adjustBorder(borderWidth);
}

function getBorderWidth(){
w = window.innerWidth;
h = window.innerHeight;
hypotenuse = Math.sqrt(w * w + h * h);
borderWidth = window.hypotenuse/74;
}

未经测试,试试看是否有帮助。

关于JavaScript onresize 事件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23834398/

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