根据 window 高度缩放(CSS 变换)iframe
Scale (CSS transform) iframe based on window height
我正在尝试修改现有的工作 JS (https://github.com/mattnish/rad),以便按宽度缩放以按高度缩放,而不是进行逻辑转换,div 随着 window 大小已更改,因此源继续缩放以适合,从不匹配 window。宽度缩放仍然适用于正确的逻辑。我应该用什么来代替 div 高度,或者我只是在数学上做错了什么?
Fiddle 是 https://jsfiddle.net/0jm4a7ob/17/ ,但是缩放代码在 fiddle 中不起作用(即使是原始的 JS,但作为它自己的文件工作)
我添加的代码是:
var pHeight=this.adParent.height();
pHeight-=parseInt(this.adParent.parent().css("marginTop").replace("px",""))+parseInt(this.adParent.parent().css("marginBottom").replace("px",""));
var newScale=pHeight/this.adHeight-0.001;
var newWidth=pHeight*this.adWidth/this.adHeight;
var newHeight=this.adHeight*newWidth/this.adWidth;
非常感谢您的帮助。
改变pHeight=this.adParent.height();到 pHeight=$(window).height();解决了这个问题。 div 显然总是超出页面边缘几个像素,并且搞乱了逻辑。
我正在尝试修改现有的工作 JS (https://github.com/mattnish/rad),以便按宽度缩放以按高度缩放,而不是进行逻辑转换,div 随着 window 大小已更改,因此源继续缩放以适合,从不匹配 window。宽度缩放仍然适用于正确的逻辑。我应该用什么来代替 div 高度,或者我只是在数学上做错了什么?
Fiddle 是 https://jsfiddle.net/0jm4a7ob/17/ ,但是缩放代码在 fiddle 中不起作用(即使是原始的 JS,但作为它自己的文件工作) 我添加的代码是:
var pHeight=this.adParent.height();
pHeight-=parseInt(this.adParent.parent().css("marginTop").replace("px",""))+parseInt(this.adParent.parent().css("marginBottom").replace("px",""));
var newScale=pHeight/this.adHeight-0.001;
var newWidth=pHeight*this.adWidth/this.adHeight;
var newHeight=this.adHeight*newWidth/this.adWidth;
非常感谢您的帮助。
改变pHeight=this.adParent.height();到 pHeight=$(window).height();解决了这个问题。 div 显然总是超出页面边缘几个像素,并且搞乱了逻辑。