Java GWT-向页面添加元素后的CSS动画
如果点击按钮,我想给页面添加一个标签,并通过CSS动画将其淡入淡出。我想,我可以创建并添加带有CSS类“hidden”的标签,该类的不透明度为0,然后删除该类,CSS将完成其余工作。 但我错了。GWT似乎在某种批量模式下执行Java GWT-向页面添加元素后的CSS动画,java,javascript,css,gwt,Java,Javascript,Css,Gwt,如果点击按钮,我想给页面添加一个标签,并通过CSS动画将其淡入淡出。我想,我可以创建并添加带有CSS类“hidden”的标签,该类的不透明度为0,然后删除该类,CSS将完成其余工作。 但我错了。GWT似乎在某种批量模式下执行onClick()中的代码->标签已经添加,但没有“hidden”类。我如何预防或更好地做到这一点?如果我在浏览器中手动添加/删除“隐藏”类,动画将在finde中工作 java代码如下所示: Button submitButton = new Button("send");
onClick()
中的代码->标签已经添加,但没有“hidden”类。我如何预防或更好地做到这一点?如果我在浏览器中手动添加/删除“隐藏”类,动画将在finde中工作
java代码如下所示:
Button submitButton = new Button("send");
submitButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
Label l = new Label("test");
l.addStyleName("hidden");
RootPanel.get().add(l);
l.removeStyleName("hidden");
}
});
RootPanel.get().add(submitButton);
这是一个非常有趣的故事:
.gwt-Label{
transition-property: opacity;
transition-duration: 1s;
}
.hidden{
opacity:0;
}
在删除隐藏类之前,可能需要添加一些延迟函数 这里有一个示例(在JS中,但它只是为了显示): 我在谷歌上找到的另一种方式是:
Jan,如果可能的话,这可能会有帮助,实际上我想用CSS而不是javascript,因为它更高效。
$(".myElement").delay(50).queue( function(){
$(this).removeClass("hidden");
});