我是Lift框架的新手,在过去的几天里,我一直在使用Flot小部件。我真的很喜欢用Scala编写的Flot javascript的外观。然而,当我试图向图中添加更多交互式功能时,我遇到了一些问题。
我尝试做的是允许用户放大图形中的数据点。基本上,我正在尝试完成这个示例,但在lift中:http://people.iola.dk/olau/flot/examples/zooming.html。
缩放的主要部分由下面的javascript处理:
$("#placeholder").bind("plotselected", function (event, ranges) {
// do some checks on the ranges...
// do the zooming
$.plot($("#placeholder"), getData(...),
$.extend(true, {}, options, {
xaxis: { min: ranges.xaxis.from, max: ranges.xaxis.to },
yaxis: { min: ranges.yaxis.from, max: ranges.yaxis.to }
}));在Lift中做这件事最好的方法是什么?在上面的代码中,我用纯javascript生成绘图,但是flot-widget应该为我做这件事。两次使用该代码似乎是不正确的,一次是使用Flot-widget,另一次是在原始javascript中。我不确定是否应该将上面的代码块移动到Scala中。此外,我还没有找到任何关于如何在Scala DSL中进行jQuery绑定的文档。任何帮助/建议都将不胜感激!
谢谢!
最后一件小事...jquery.flot.selection插件需要进行缩放,所以我必须手动将其添加到我的Lift项目中。这很好,除了jquery.flot.js是自动内置的。当我添加flot.selection插件时,我的插件版本对于Lift附带的jquery.flot.js来说太新了。为了弄清楚我需要哪个版本的选择插件,我不得不在罐子里寻找答案。
当一个库自动为我包含另一个库时,我已经被maven烧伤过很多次了……我意识到JavaScript可能不同,但当涉及到包括其他库在内的库时,我仍然很害羞。
好了……我现在不再大喊大叫了:)再次感谢你的帮助。
发布于 2011-04-18 23:28:42
我不能评论Lift平台方面,但是对于flot本身,没有办法用几乎相同的选项和数据重新调用plot。
如果您自己编写整个代码,我建议您只需编写一个函数,该函数接受ranges对象并为您调用plot,然后在页面加载和plotselected函数中调用该函数。事实上,两个电话是你唯一合适的选择。
https://stackoverflow.com/questions/5695087
复制相似问题