2017-06-06 39 views
0

最近,我碰巧来到这个页面。
我意识到代码的变化发生在这个函数中。
它从<tr><td>A</td><td>1</td><td style="background-color:#336699">&nbsp;</td></tr>获取数据。
如果<td>中的数据是整数,它不会像%给出的那样有很大影响。如何更改为整数而不是%在此codepen

如何让它接受整数并提供类似于%的效果?


function viewGraph() { 
    $(".column").css("height", "0"); 
    $("table tr").each(function(index) { 
    var ha = $(this).children("td").eq(1).text(); 
    $("#col" + index) 
     .animate({ height: ha }, 1500) 
     .html("<div>" + ha + "</div>"); 
    }); 
} 
$(document).ready(function() { 
    viewGraph(); 
}); 

https://codepen.io/bobasdasd/pen/bRNzza

回答

0

只需添加到您的代码,它应该工作,你希望的方式来

if(!ha.includes("%")) { 
    ha = ha + "%"; 
} 

应用到你的代码:

function viewGraph() { 
    $(".column").css("height", "0"); 
    $("table tr").each(function(index) { 
    var ha = $(this).children("td").eq(1).text(); 

    // Simply add this. 
    if(!ha.includes("%")) { 
     ha = ha + "%"; 
    } 

    $("#col" + index) 
     .animate({ height: ha }, 1500) 
     .html("<div>" + ha + "</div>"); 
    }); 
} 
$(document).ready(function() { 
    viewGraph(); 
}); 

希望这可以帮助你。

0

此功能可以入内td文本,并设置列的高度等于该文本。所以,如果文本有%,则列高将被设置为%。如果文本只是一个数字,则列高度将设置为px。所以,增加你的号码(换成1乘100或更大),你会看到效果。如果你想转换数%,只是这样做:

if(ha.indexOf('%')==-1) ha+='%'; 
0
function viewGraph() { 
    var height = $("#grafico").height()/4; 
    $(".column").css("height", "0"); 
    $("table tr").each(function(index) { 
    var ha = $(this).children("td").eq(1).text(); 
    $("#col" + index) 
    .animate({ height: (+ha ? ha * height : ha) }, 1500) 
    .html("<div>" + ha + "</div>"); 
    }); 
} 


               ---- A poor English speaker 
+0

描述你的答案有点 – IsuruAb

+0

计算容器的高度,除以四个梯度,ha *(梯度的高度),表示不知道我描述了你看不看的懂啊〜很闹心。 – yankai

相关问题