GWT 动画在从 websocket 调用时是否运行
Do GWT Animations operate when they are called from a websocket?
我试图让 GWT 动画从大气 websocket 回调中工作,但动画似乎从未开始。
这是我的动画代码。
public class SearchViewAnimation extends Animation
{
private final Element element;
private int startX;
private int startY;
private int finalX;
private int finalY;
public SearchViewAnimation(Element element)
{
this.element = element;
}
public void scrollTo(int x, int y, int milliseconds)
{
this.finalX = x;
this.finalY = y;
startX = element.getOffsetLeft();
startY = element.getOffsetTop();
run(milliseconds);
}
@Override
protected void onUpdate(double progress)
{
double positionX = startX + (progress * (this.finalX - startX));
double positionY = startY + (progress * (this.finalY - startY));
this.element.getStyle().setLeft(positionX, Style.Unit.PX);
this.element.getStyle().setTop(positionY, Style.Unit.PX);
}
@Override
protected void onComplete()
{
super.onComplete();
this.element.getStyle().setLeft(this.finalX, Style.Unit.PX);
this.element.getStyle().setTop(this.finalY, Style.Unit.PX);
}
}
这是我用来调用它的代码...
public class SearchViewImpl extends Composite implements ISearchView {
private static SearchViewImplUiBinder uiBinder = GWT
.create(SearchViewImplUiBinder.class);
@UiField AbsolutePanel Panel;
interface SearchViewImplUiBinder extends UiBinder<Widget, SearchViewImpl> {
}
public SearchViewImpl() {
initWidget(uiBinder.createAndBindUi(this));
}
@Override
public void setNewUser(IUser user) {
SearchElementImpl elem = new SearchElementImpl();
elem.setUser(user);
Panel.add(elem);
SearchViewAnimation animation = new SearchViewAnimation(elem.getElement());
animation.scrollTo(500, 500, 5000);
}
}
fn setNewUser 是从大气 websocket 回调中调用的,大约每十秒左右执行一次,但是动画似乎从未真正在页面上移动,正如我希望它也通过 scrollTo fn 移动一样。 我已经在一个小型 GWT 测试项目中对其进行了测试,动画似乎在没有 websocket 的情况下工作正常。 Web 套接字是否会影响 GWT 代码中动画的使用,如果是这样,有谁知道如何让 websocket 实际影响某些动画?
所以事实证明,出于某种原因,你需要有
Panel.setSize("500px", "500px");
Panel.addStyleName("absolutePanel");
设置动画工作的位置。
有谁知道..A. 如何将绝对面板的大小设置为其包含面板的大小b.为什么需要在绝对面板上设置样式才能使动画工作?
相关文章:
- PhantomJS - 检查javascript函数是否正在运行的任何方法
- 如何检查函数是否将运行或可用
- 检查在使用节点运行程序时是否给出ARGV
- 检查grunt是否在详细模式下运行
- 是否可以从javascript文件中将量角器作为模块运行
- Chrome扩展:是否有一种方法可以运行JavaScript来获取页面上的内部html,并将其保存到扩展中的变量中
- 是否可以在node.js依赖项上运行脚本
- stopPropagation是否还会阻止同一元素上的其他处理程序运行
- 什么决定了 Node.js 应用是否保持运行
- 是否可以从在Firefox或IE的网页中运行的Javascript启动Windows进程
- 将函数分配给javascript中的变量是否运行该函数
- 流星 - 检查您是否运行了 2 个版本的 React
- GWT 动画在从 websocket 调用时是否运行
- 在JS中是否有可能从浏览器的控制台中检测是否运行了任何JS ?
- 当子类继承并挂载父类时,父类是否运行生命周期方法?
- Node是否运行所需模块中的所有代码?
- 如何通过Office .js查看Office AddIn主机是否运行Outlook应用
- 如何检测Chrome检查元素是否运行
- 在整个脚本完成解析之前是否运行javascript函数调用
- 记住之前是否运行过javascript,如果是[EnjoyHint.js]就不要再运行它