Jquery划分表格单元格

时间:2017-01-02 19:58:54

标签: javascript module division calculation

我有一张桌子,里面有几个牢房。当我在一个单元格上单击(使用jquery)时,它被分成四个部分(时间间隔,每个部分代表15分钟)。

// example
<table>
   <tr>
      <td></td>
      <td></td>
      <td>
         <div class="divider">
            <span></span>
            <span></span>
            <span></span>
            <span></span>
         </div>
      </td>
      <td></td>
   </tr>
</table>

这工作正常,但我想计算每个标签的宽度(4件)。当屏幕重新调整时,单元格的宽度会发生变化

例如,如果单击的单元格宽度为17像素。 我想跟随宽度

// span 1: 4px    
// span 2: 5px    
// span 3: 4px    
// span 4: 4px 
// total: 17px    

但如果一个单元格的宽度为22px,则会产生以下结果

// span 1: 6px    
// span 2: 5px    
// span 3: 6px    
// span 4: 5px 
// total: 22px 

我尝试过使用mod和divide进行多次计算,但无法得到令人厌恶的结果。

@edit |添加了JSFiddle代码 在此文件中,td宽度静态设置为22px。 https://jsfiddle.net/cymvfmmb/

2 个答案:

答案 0 :(得分:0)

计算将基于宽度的单元格划分为4相等或更高相关。

var n=25;
var length=n;
var arr=[0,0,0,0];

for(var i=0;i<length;i++){
 for(var j=0;j<arr.length;j++){
  if(n){
    arr[j]+=1;
    n=n-1;
  }
 }

}
console.log(arr); //[7, 6, 6, 6]

答案 1 :(得分:0)

我如何创建自定义排序

// Algorithm needs to be
// low | highest | lowest | highest
[7,6,6,6] would become [6,7,6,6]

// custom sorting the array
    arr.sort(function(x, y){
        if(y < x){
            return x - y;
        }
    });