DIV があり、listItem-Panel を表示したいのですが、DIV をクリックすると、listItem-Panel が listItemDetail-Panel に置き換えられます。このため、DIV には Wicket:ID=curPanel の Child-DIV が含まれています。
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 はフェードインを介して表示されます。
しかし、これが問題です!Ajax 置換後に DIV をフェードインするにはどうすればよいですか?
target.appendJavascript() 呼び出しを見ることができますが、これは機能しませんでした!
Wicket/WiQuery のソリューションが必要です。私はjQueryのソリューションを知っており、それらを採用したいと考えています。
Thxクリストフ