【发布时间】:2023-03-24 07:40:01
【问题描述】:
大家好, 我想知道如何解决这个问题:
function setimgwidth() {
var bw = $('.post-body').width();
$(".post-body p img").each(function() {
var os = $(this).width();
//if (bw < os) {
$(this).removeAttr('height');
$(this).width(bw);
//}
});
}
基本上,我的 .post-body div 会根据屏幕尺寸动态调整。 其中的每个图像也应该调整为 .post-body div 的宽度,但前提是 .post-body 不大于图像的原始大小。我不希望图像变得模糊。
就目前而言,它实际上几乎就像我想要的那样工作。该函数在窗口调整大小时调用。但是,如果 .post-body 大于实际图像大小,则图像仍会放大。
如果我取消注释上面的代码,它似乎可以工作,但前提是我将窗口调整为更小的尺寸。如果它的大小调整得更大,图像将不再调整并保持较小。 这可能是因为每次调用函数时都会覆盖原始大小。
不知何故,我找不到合适的解决方案,我需要您的帮助。 先感谢您, 马特
【问题讨论】:
-
您的两条注释掉的行不起作用吗?当他们不被评论时会发生什么,而不是当他们被评论时? (他们在我看来是正确的)
-
好吧,它确实有效,但前提是我刷新窗口。如果我调整大小并使其变小,图像会正确调整大小,但是一旦我将其拖大,图像就不再放大了!
-
您能否确认您的事件在每次调整窗口大小时触发,而不仅仅是在窗口加载时触发?我们可以在某个地方看到你的代码吗?
-
如果我取消注释,如果窗口调整大小使窗口变小,则内部部分上方的代码将被触发。不知何故,每次调用函数都会覆盖 os 变量。
-
啊,那是有道理的。我会更新我的答案。