2013-02-19 77 views
0

我試圖使用類似於this的效果在檢票中加載圖像。這是目前我在做什麼:在Wicket中使用JQuery加載圖像

在我的圖像組件(包含圖像的簡單的面板):

@Override 
public void renderHead(IHeaderResponse response) { 
    super.renderHead(response); 
    response.renderJavaScriptReference(GlobalNames.JQUERY_URL); 
    response.renderJavaScript("$(document).ready(function(){$(\"img.elementImage\").hide().fadeIn(600);});", null); 
} 

和HTML:

<?xml version="1.0" encoding="UTF-8"?> 
<html 
    xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"> 
<body> 
<wicket:panel> 
    <img class="elementImage" wicket:id="img"/> 
</wicket:panel> 
</body> 
</html> 

我想這應該做的它,但我不斷收到錯誤$(「img.elementImage」)爲空。我也嘗試使用標記id代替javascript中的類,並使用其他方法添加javascript(如renderOnDomReadyJavaScript),但始終出現相同的錯誤。這是我第一次用Wicket使用JQuery,所以它可能是一些非常簡單的東西,但我錯過了,有什麼想法?

+0

jQuery正確加載?至於jQuery選擇器,只需選擇'$(「。elementImage」)'。嘗試從Firefox或Chrome Webconsole加載頁面以使用jQuery選擇圖像。另請參閱'AjaxLazyLoadPanel':http://www.mkyong.com/wicket/how-do-use-ajaxlazyloadpanel-in-wicket/ - 這可能會解決您的使用情況而不使用jQuery,儘管我還沒有使用它。 – 2013-02-19 20:45:09

+0

惡人:id =「img」實際上不會呈現爲id =「img」。 Wicket通常在ID的末尾添加一個數字。例如id =「img12」,它在文檔的某處,但是它們告訴你從不在選擇器中使用wicket:id。 – drobson 2013-02-20 11:50:06

回答

0

我發現了錯誤,它解決了。原來JQuery與之前添加的其他腳本衝突,所以'$'在選擇器中不起作用。我使用jQuery(img.elementImage)來代替它,它工作得很完美。感謝您的迴應!