我尝试在我的网站上放置一个图表,当我在我的函数中定义一个setTimeout时,向我显示一个空白页面,我不知道为什么。如果我用我的手创建一个表,它工作正常,但如果我使用main.js
中的函数创建我的表,这将获取我的Web服务中的信息,一秒钟后无法工作和显示(我定义的时间)一个空白页面。
这里是我的代码: inde.html
<div style="width:700px;height:500px;margin-top:20px;margin-top:200px;">
<table id="chartdiv">
</table>
</div>
...
<script type="text/javascript" src="../front-end/js/jquery.min.js"></script>
<script type="text/javascript">
var jQuery1 = $.noConflict(true);
</script>
<script type="text/javascript" src="../front-end/js/jquery.gvChart-0.1.min.js"></script>
<script type="text/javascript">
function coisocoiso(){
setTimeout(function() {
gvChartInit();
jQuery1(document).ready(function(){
jQuery('#chartdiv').gvChart({
chartType: 'PieChart',
gvSettings: {
vAxis: {title: 'No of Visitors'},
hAxis: {title: 'Month'},
width: 720,
height: 300,
}
});
});
}, 1000);
}
</script>
<script type="text/javascript">
$(document).ready(function(){
$("#jogador").hide()
$("#selecoes").hide();
$("#jogoss").hide();
$("#selecaoList").click(function () {
$("#index").hide();
$("#selecoes").show();
coiso();
coisocoiso();
});
$("#tagList").click(function () {
$("#index").hide();
$("#selecoes").show();
coiso();
coisocoiso();
});
main.js
function addChart(data) {
// JAX-RS serializes an empty list as null, and a 'collection of one' as an object (not an 'array of one')
var list = data == null ? [] : (data.pessoa instanceof Array ? data.pessoa : [data.pessoa]);
$('#chartdiv').empty();
var tr = $( '<tr/>' ),
thead = $( '<thead/>' ),
caption = $( '<caption/>' ),
tbody = $( '<tbody/>' ),
th = $( '<th/>' ),
td = $( '<td/>' ),
row;
$('#chartdiv').append( caption.clone('Coiso') );
row = thead.clone();
var row1;
row1 = tr.clone();
row1.append(th.clone().html(''));
$.each(list, function(index, pessoa) {
row1.append( th.clone().html(pessoa.nome));
});
row.append(row1);
$('#chartdiv').append( row );
var coiso = 0;
var totalClicks = parseInt(coiso,10);
$.each(list, function(index, pessoa) {
totalClicks = parseInt(totalClicks,10) + parseInt(pessoa.clicks,10);
});
var row2,row3;
row2 = tbody.clone();
row3 = tr.clone();
row3.append(th.clone().html(parseInt(totalClicks,10)));
$.each(list, function(index, pessoa) {
row3.append( td.clone().html(pessoa.clicks));
});
row2.append(row3);
$('#chartdiv').append(row2);
}