2017-01-02 89 views
0

我有一个表格,有几个单元格。当我单击(与jquery)单元格时,它被分成四块(时间间隔,其中每块代表15分钟)。jquery分表单元格

// 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 px。 我想下面的宽度

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

但是,如果一个单元具有的22px宽度,以下结果disired

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

我试过几个计算与国防部和划分,但不能得到不愉快的结果。

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

+0

分享小提琴完整的代码,以便我们能够更好的帮助。 –

+0

我已经添加了一个小提琴示例代码 – Bham

+0

使用jquery resize事件来计算运行时的单元宽度。 –

回答

0

根据宽度in至4的计算划分单元等于或大于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] 
+0

它的工作,只有订单需要不同。第一次它需要非常聪明。那么它需要检查最大,最小和最大的。所以[7,6,6,6]需要[6,7,6,6] – Bham

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; 
     } 
    });