【问题标题】:jQuery: Recalculating browser width after resizejQuery:调整大小后重新计算浏览器宽度
【发布时间】:2014-01-27 15:53:17
【问题描述】:

我有一个简短的脚本,它在我的屏幕右侧放置一个 div。 在我调整浏览器大小之前一切正常。

$(document).ready(function () {

    var width = $(window).width();
    var height = $(window).height();

    $('.boxright').css({"left": width -500 + "px"});

});

我现在的问题:如何在调整大小后重新计算浏览器宽度? 我知道有$(window).resize,但我的编码技能太有限,无法让它发挥作用, 所以如果有人能提供一些工作线,那就太好了。谢谢。

【问题讨论】:

    标签: jquery resize


    【解决方案1】:

    将代码放在一个函数中,这样你就可以在页面加载和页面调整大小时调用它:

    function setSize() {
      var width = $(window).width();
      $('.boxright').css({"left": width -500 + "px"});
    }
    
    $(document).ready(function () {
      setSize();
    });
    
    $(window).resize(setSize);
    

    您也可以考虑简单地将元素与右边缘而不是左对齐,例如:

    $(document).ready(function () {
      $('.boxright').css({"right": "200px"});
    }
    

    【讨论】:

      【解决方案2】:

      您可以尝试像您在问题中描述的那样使用 resize()

      $(document).ready(function () {
      
          $(window).resize(function() {
              var width = $(window).width();
              var height = $(window).height();
      
              $('.boxright').css({"left": width -500 + "px"});
          });
      
      });
      

      【讨论】:

      • 嗯,这只会在调整大小后定位 div,而不是在第一次加载网站时定位。不过还是谢谢。
      • @Tbyas 你可以把它放在一个函数中并在页面加载时调用它,我认为 Guffa 的答案就是你要找的
      猜你喜欢
      • 2013-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-17
      • 2012-02-08
      • 2012-12-22
      • 1970-01-01
      相关资源
      最近更新 更多