【问题标题】:Change height of element on resize在调整大小时更改元素的高度
【发布时间】:2017-07-06 23:53:41
【问题描述】:

大家好,我正在尝试动态更改元素的高度。 这些是我的变量。

var windowWidth = 1440;
var currentWidth = $(window).width();
var elementHeight = $('#line4').height();

现在我想要的是当窗口宽度和当前宽度之间的差异小于 6 时,我想更改元素的高度。我想每次(windowWidth - currentWidth)

$( window ).bind("resize", function(){
    if((windowWidth - currentWidth)<6) {
        $("#line4").css('height', elementHeight-14);
    }
});

它不起作用,我不知道我错过了什么。还跟进问题我可以通过这种方式更改其他 CSS 属性。对于这个特殊问题,我还需要以同样的方式更改 css top 属性,因为我有一些具有绝对位置的 div。

【问题讨论】:

  • 您必须将currentWidthelementHeight 放入resize 函数中,如果windowWidth 不是您的示例中的常量,也是这样

标签: javascript jquery html css


【解决方案1】:

您需要在每次调整大小事件时测量窗口的当前宽度,因为它也在变化。

var windowWidth = 1440;
var currentWidth = $(window).width();
var elementHeight = $('#line4').height();

$( window ).bind("resize", function(){
  currentWidth = $(window).width()
  if((windowWidth - currentWidth)<6) {
    $("#line4").css('height', elementHeight-14);
  }
});

【讨论】:

  • 原来不是我的代码,一团糟。我已经尝试在 codepen 和 jsbin 上上传它,但它不能正常工作。在这里你可以在我的谷歌驱动器上查看它。我试图改变的是一种模态。那里有连接我的 div 的线,我需要为它们更改高度。驱动链接:drive.google.com/open?id=0B6qR8Uzr3ojCVlQyRVRDWUZQcW8
  • 这是一支工作笔:codepen.io/anon/pen/BZPGXV?editors=1111 请用钢笔而不是 zip 来添加您的简化项目。
  • 当我调整屏幕大小时,我刚刚检查了你的代码笔,没有任何事情发生,高度保持不变。这是一张图片:drive.google.com/file/d/0BzFnmSPdntJDaFV4dk5kTXpGYms/…
  • 当你的窗口大于 1440px 时,它会降低元素的高度。尝试将其调整为更大。但是,如果您尝试用 codepen 解释您的整个问题,我们可以找到解决方案。
【解决方案2】:

每次调用 resize 事件时都需要获取 windowWidth 您应该在resize 事件中添加去抖动以获得更好的性能。 我经常这样做,也许你可以搜索任何更好的方法:

var resizeTimer;
$(window).on('resize', function(e) {

  clearTimeout(resizeTimer);
  resizeTimer = setTimeout(function() {

  // Run code here, resizing has "stopped"
  currentWidth = $(window).width()
  if((windowWidth - currentWidth)<6) {
    $("#line4").css('height', elementHeight-14);
  }

  }, 250);
});

我创建了这个来测试,你可以试试。顺便说一句,我从 6 增加到 600 以更容易检查:D https://codepen.io/huytran0605/pen/NgBEVO

【讨论】:

猜你喜欢
  • 2016-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-04
  • 1970-01-01
  • 2021-09-23
  • 2021-08-06
  • 2011-02-15
相关资源
最近更新 更多