iframe中jqplot(jquery绘图)不能自动加载,调用resetZoom()方法后才显示。
这是iframe:<iframeid="cf"src="../../FusionCharts/jquery/zoom.jsp"width="340"height="135...
这是iframe:
<iframe id="cf" src="../../FusionCharts/jquery/zoom.jsp" width="340" height="135" scrolling="no" frameborder="0" ></iframe>
这是zoom.jsp:
(引入css、js)
<script type="text/javascript" language="javascript">
$(document).ready(function(){
$.jqplot.config.enablePlugins = true;
var goog1 = [['08/10/2011',96.0],['08/11/2011',84.0]];
var goog2= [['08/10/2011',96.0],['08/11/2011',84.0]];
plot = $.jqplot('cfChart', [goog1,goog2], {
legend:{
show:true,
location: 'sw',
xoffset: 1,
yoffset: 1,
renderer:$.jqplot.EnhancedLegendRenderer
},
series: [
{label:'个人'}, {label:'群体'}
],
seriesDefaults: {
lineWidth: 1.5,
markerOptions: {
show:true,
size:4
}
},
seriesColors:['#cc6666', '#66cc66'],
axes: {
xaxis: {
renderer:$.jqplot.DateAxisRenderer,
min:'August 1, 2011',
tickInterval: "10 days",
tickOptions:{formatString:"%Y/%#m/%#d"}
},
yaxis: {
show: false,
ticks: [20,40,60,80,100],
tickOptions:{formatString:'%d'}
}
},
cursor:{zoom:true},
highlighter:{show:true}
});
});
</script>
<div style="padding-top:0px"><button value="reset" type="button" onclick="plot.resetZoom();">重置</button></div>
<div id="cfChart" style="margin-top:0px; margin-left:0px; width:340px; height:135px;"></div>
哪位大侠知道,或有类似经验,麻烦知道下,谢谢了!!!
重要补充:::上述内容是在第二选项卡(指数)里面的,页面默认显示第一选项卡(构成),在页面还没有加载完成时直接点击第二选项卡,上面内容顺价加载,但是如果等页面加载完了再点击第二选项卡却是空白,上面的内容却不显示!!!
急急急~~~
问题已解决:上述代码放到了display:none的div里面了,去掉display:none就OK!
又能解释一下的送分了。。。。 展开
<iframe id="cf" src="../../FusionCharts/jquery/zoom.jsp" width="340" height="135" scrolling="no" frameborder="0" ></iframe>
这是zoom.jsp:
(引入css、js)
<script type="text/javascript" language="javascript">
$(document).ready(function(){
$.jqplot.config.enablePlugins = true;
var goog1 = [['08/10/2011',96.0],['08/11/2011',84.0]];
var goog2= [['08/10/2011',96.0],['08/11/2011',84.0]];
plot = $.jqplot('cfChart', [goog1,goog2], {
legend:{
show:true,
location: 'sw',
xoffset: 1,
yoffset: 1,
renderer:$.jqplot.EnhancedLegendRenderer
},
series: [
{label:'个人'}, {label:'群体'}
],
seriesDefaults: {
lineWidth: 1.5,
markerOptions: {
show:true,
size:4
}
},
seriesColors:['#cc6666', '#66cc66'],
axes: {
xaxis: {
renderer:$.jqplot.DateAxisRenderer,
min:'August 1, 2011',
tickInterval: "10 days",
tickOptions:{formatString:"%Y/%#m/%#d"}
},
yaxis: {
show: false,
ticks: [20,40,60,80,100],
tickOptions:{formatString:'%d'}
}
},
cursor:{zoom:true},
highlighter:{show:true}
});
});
</script>
<div style="padding-top:0px"><button value="reset" type="button" onclick="plot.resetZoom();">重置</button></div>
<div id="cfChart" style="margin-top:0px; margin-left:0px; width:340px; height:135px;"></div>
哪位大侠知道,或有类似经验,麻烦知道下,谢谢了!!!
重要补充:::上述内容是在第二选项卡(指数)里面的,页面默认显示第一选项卡(构成),在页面还没有加载完成时直接点击第二选项卡,上面内容顺价加载,但是如果等页面加载完了再点击第二选项卡却是空白,上面的内容却不显示!!!
急急急~~~
问题已解决:上述代码放到了display:none的div里面了,去掉display:none就OK!
又能解释一下的送分了。。。。 展开
2个回答
展开全部
jqplot图在非默认Tab页时,需要用plot1.replot();方法重新渲染,可以在切换tab时调用replot();方法,参考:
$('#tabs').bind('tabsshow', function(event, ui) {
if (ui.index == 1 && plot1._drawCount == 0) {
plot1.replot();
}
else if (ui.index == 2 && plot2._drawCount == 0) {
plot2.replot();
}
});
可查看examples下面的hiddenPlot.html
$('#tabs').bind('tabsshow', function(event, ui) {
if (ui.index == 1 && plot1._drawCount == 0) {
plot1.replot();
}
else if (ui.index == 2 && plot2._drawCount == 0) {
plot2.replot();
}
});
可查看examples下面的hiddenPlot.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询