我一直在寻找解决我的问题的方法。我有一个 jQuery Flippy div 内的 Flot 折线图。我基本上想拥有 Flippy,这样你就可以在图表和表格之间切换,效果很酷。
启动 Flippy 的按钮工作正常,现在只显示一个简单的 div。但是,当您单击另一个按钮反转 Flippy(返回图表)时,图表上的数据已经消失。轴和标签在那里,但没有线。我不确定您是否必须重绘图表,我已经尝试了很多方法来创建一个按钮来重绘图表,理想情况下我希望它在您单击按钮以反转 Flippy 时重绘图表。
这是我为 Flippy 按钮编写的 js 代码:
<script type="text/javascript">
$(document).ready(function(){
$("#btn-reverse").on("click",function(e){
$(".flipbox").flippyReverse();
e.preventDefault();
});
$("#btn-top").on("click",function(e){
$(".flipbox").flippy({
color_target: "#b6d635",
direction: "top",
duration: "200",
verso: "<span style='height:300px' class=\"big\">Other side of Flippy<br><br><br><br><br><br></span>",
});
e.preventDefault();
});
});
</script>
这是页面加载时首先创建图表的 js(它包含在单独的 PHP 文件中):
var plot = $.plot($(".chart"),
[ { data: sin, label: "Total cost ", color: "#ee7951"} ], {
series: {
lines: { show: true },
points: { show: true }
},
grid: { hoverable: true, clickable: true },
yaxis: { min: 0,
tickFormatter: currencyFormatter },
xaxis: {
mode: "time",
timeformat: '%b %y',
}
});
最后,这是呈现图表的 HTML 以及 Flippy 和 Flippy 反转的两个按钮。
<a class="btn" id="btn-top" href="#">Flip</a>
<a class="btn" id="btn-reverse" href="#">Reverse</a>
<div class="row-fluid">
<div class="flipbox-container">
<div class="span11">
<div class="widget-box flipbox">
<div class="widget-title"> <span class="icon"> <i class="icon-signal"></i> </span>
<h5>Total Usage Costs</h5>
</div>
<div class="widget-content">
<div class="chart"></div>
</div>
</div>
</div>
</div>
</div>
如果有人能告诉您为什么在使用 Flippy 时图表会丢失数据,或者建议我如何在按下 Flippy 反向按钮时重新绘制图表,那将非常有帮助。