Javascript 调整窗口大小时重新计算表格高度

Javascript 调整窗口大小时重新计算表格高度,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个函数,它可以做3件事: tr悬停 关注同一行上显示的两个单独的表 计算第一个工作台的tr高度,并将该高度设置为第二个工作台的tr高度 $(函数(){ 变量行=$('.interactive tr'); 行。单击(函数(){ var i=$(this).GetIndex()+1;//第n个子项是基于1的 rows.removeClass('selectedRow'); rows.filter(':n个子('+i+')).addClass('selectedRow'); }); ho

我有一个函数,它可以做3件事:

  • tr悬停
  • 关注同一行上显示的两个单独的表
  • 计算第一个工作台的tr高度,并将该高度设置为第二个工作台的tr高度


$(函数(){
变量行=$('.interactive tr');
行。单击(函数(){
var i=$(this).GetIndex()+1;//第n个子项是基于1的
rows.removeClass('selectedRow');
rows.filter(':n个子('+i+')).addClass('selectedRow');
});
hover(函数(){
var i=$(this).GetIndex()+1;
rows.filter(':n个子('+i+')).addClass('hoverx');
},函数(){
rows.removeClass('hoverx');
});
$(“表:第一个tr”)。每个(功能(i){
$(“表:上次tr”).eq(i).height($(this.height());
});
});
jQuery.fn.GetIndex=函数(){
返回$(this.parent().children().index($(this));
}
此函数非常有效,但在调整浏览器大小时我遇到了一个问题,因为该函数没有重新计算tr高度

这破坏了所有的桌子设计

有人能帮我吗:当浏览器调整大小时,如何从第一个表重新计算tr高度并从第二个表设置为tr高度

以下是
fiddle示例:


谢谢。

这不是一个完整的答案,但有几件事需要检查,也许能帮你找到你要去的地方

  • 暂时放一个按钮或其他东西来调用你的调整大小功能。然后调整窗口大小,然后调用函数。这将告诉您,您的问题是在使用
    $(窗口)触发函数时出现的。请调整
    的大小还是在函数本身中出现的

  • 如果问题出在函数本身,则可能是浏览器缓存中存在一些问题。尝试调用.hide(),然后对其进行调用.show()


    • 这不是一个完整的答案,但有几件事需要检查,这可能会帮你找到你要去的地方

      • 暂时放一个按钮或其他东西来调用你的调整大小功能。然后调整窗口大小,然后调用函数。这将告诉您,您的问题是在使用
        $(窗口)触发函数时出现的。请调整
        的大小还是在函数本身中出现的

      • 如果问题出在函数本身,则可能是浏览器缓存中存在一些问题。尝试调用.hide(),然后对其进行调用.show()


      您需要将高度计算放在调整大小功能中,同时保持现有的高度计算不变,以便在调整大小功能之前加载或移动到工作

      $(document).ready(function(){
          $(window).resize(function() {
              // get first table tr height
              // apply to second table tr height
          });
      });
      
      您可以看到在这里调用resize

      您需要将高度计算放在调整大小功能中,同时保持现有的高度计算不变,以便在调整大小功能之前加载或移动到工作

      $(document).ready(function(){
          $(window).resize(function() {
              // get first table tr height
              // apply to second table tr height
          });
      });
      
      您可以看到在这里调用resize

      您必须使用
      $(窗口)。调整大小(函数(){…})函数,在调整浏览器窗口大小期间执行。已经尝试过,但不起作用,我认为必须添加一个新条件,但我想不出什么。因此,根据您的描述,我感觉您希望两个表看起来像是同一个表,对吗?(即,行排列整齐)在这把小提琴中,当调整大小时,tr高度没有任何变化。您必须使用
      $(window).resize(function(){…})函数,在调整浏览器窗口大小期间执行。已经尝试过,但不起作用,我认为必须添加一个新条件,但我想不出什么。因此,根据您的描述,我感觉您希望两个表看起来像是同一个表,对吗?(即,行排列整齐)在该小提琴中,调整大小时,tr高度没有变化