javascript偏移宽度和高度百分比

时间:2015-07-26 15:02:24

标签: javascript

我试图获得图像的宽度和高度相对于身体的“旧”100%宽度和高度(打开时全屏)。

找到一个以百分比形式给出宽度和高度的脚本:

thisWidth = Math.round(((content.offsetWidth/
               document.getElementsByTagName('BODY')[0].clientWidth)-0)*100) + '%';
thisHeight = Math.round(((content.offsetHeight/
                document.getElementsByTagName('BODY')[0].clientHeight)-0)*100) + '%';

在window.resize上使用这个脚本,但它总是给出100%(这是合乎逻辑的,因为它会重新计算新的大小,因此它总是100%)。

但我需要的是与打开窗口尺寸相关的百分比,以便我可以按比例调整图像大小与新的宽度和高度百分比。

希望足够清楚,如果不是我想给它另一个镜头!感谢

1 个答案:

答案 0 :(得分:0)

相当未经测试,但也许这会对你有帮助。代码注释应该让您了解正在发生的事情:



// Something to compare to.
const initialWidth = document.body.clientWidth;
const initialHeight = document.body.clientHeight;

window.addEventListener('resize', () => {
  // Get the width of something else, in this case, the body.  
  const width = document.body.clientWidth;
  const height = document.body.clientHeight;
  
  // Convert to percentages.
  const widthInPercent = Math.round((initialWidth / width) * 100);
  const heightInPercent = Math.round((initialHeight / height) * 100);
  
  // Do something with the results.
  document.body.innerHTML = `Width: ${widthInPercent}% Height: ${heightInPercent}%`;
});