0

我有一个钛应用程序,可以在其中加载 Web 视图。在这个 web 视图中,我加载了一个带有图表的 html5。

我想显示一条垂直线并获取有关该线位置的一些信息。这条线将由 Titanium App 中的滑块控制,因此这条线会非常快速且频繁地改变其位置。

你可以在这里看到类似的东西:graph

在 html 文件中,我编写了图表并为事件添加了一个侦听器。当事件被触发时,它会使用以下代码在某个位置画一条线:

        function updateVerticalLine(posX) {
            drawSeries(c);
            c.strokeStyle = '#000000';
            c.beginPath();
            c.moveTo(getXPixel(posX), graph.height() - yPadding);
            c.lineTo(getXPixel(posX), 0);
            c.stroke();

        } 

在 Titanium 应用程序中,我仅在收到更改滑块事件并传递行的新位置时触发该事件:

slider.addEventListener('change', function(e) {

    Ti.App.fireEvent('sliderhtml5line:change', {
            value : e.value
        });
});

它在 ios 上运行良好,但在 Android 上,它非常慢并且事件杂乱无章。

你知道我该如何解决吗?有没有更好的选择?

谢谢!!

4

1 回答 1

1

应该以其他方式完成。

当用户更改滑块时,您应该使用该evaljs函数直接调用 HTML 页面中的方法来更新用户界面

于 2013-07-26T22:39:12.553 回答