我有一個DIV並希望顯示一個listItem-Panel,如果我點擊DIV,listItem-Panel應該由listItemDetail-Panel替換。出於這個原因,DIV包含一個Wicket:ID = curPanel的Child-DIV。Wicket:使用fadeIn和fadeOut(WiQuery,JQuery)替換面板
div.add(new AjaxEventBehavior("onclick") {
@Override
protected IAjaxCallDecorator getAjaxCallDecorator() {
return new AjaxCallDecorator() {
@Override
public CharSequence decorateScript(final CharSequence script) {
return String.format("$('#%s').fadeOut(1000, function(){ %s });", div.getMarkupId(), script);
}
};
}
@Override
protected void onEvent(final AjaxRequestTarget target) {
final Panel curPanel = (Panel) div.get("curPanel");
if (curPanel.getClass().equals(listItemDetailPanel.class)) {
curPanel.replaceWith(listItemPanel);
} else {
curPanel.replaceWith(listItemDetailPanel);
}
target.addComponent(div);
target.appendJavascript("new Effect.FadIn($('" + div.getMarkupId() + "'))");
}
});
我使用AjaxCallDecorator到淡出的DIV(其中包含listItemPanel或listItemDetailPanel)。之後,小組將被另一個替換,然後DIV應該通過fadeIn出現。
但這是問題!我應該怎麼做,在Ajax-Replacement之後淡入DIV?
您可以看到target.appendJavascript()調用,但這不起作用!
我需要Wicket/WiQuery的解決方案。我知道jQuery的解決方案,我想採用它們。
Thx Christoph