当浏览器窗口改变宽度时如何用绝对值计算div的位置

时间:2013-11-24 00:59:06

标签: javascript

我有img和div,位置绝对。所以我需要这个div总是从图像的右下角开始然后向左移动。但是当我使用这段代码时,div在调整浏览器窗口后从img底角开始:

div1.style.left = ((imgRect.left + 
  (window.pageXOffset || document.body.scrollLeft) - 
  (document.body.clientLeft || 0)) 
  - 532) + "px";

请注意,div在刷新页面时会采取正确的位置,但如何在不刷新的情况下执行此操作?

我尝试添加此代码:

$(window).resize(function () { 
  div1.style.left = ((imgRect.left + 
    (window.pageXOffset || document.body.scrollLeft) - 
    (document.body.clientLeft || 0)) 
    - 532) + "px";
});

但仍然有相同的结果。我想这不是一个正确的计算。

1 个答案:

答案 0 :(得分:1)

您的代码存在很多问题,但是导致代码无效的位是div1变量在调整大小回调中可能无法访问。确保div1在功能中可用,您应该好好去。