2011-11-15 71 views
0

我正在寫一個小動畫到div:當你點擊它時,標誌翻轉。在點擊時,圖像必須改變。編輯對象,同時動畫

HTML:

<div id="lang"></div> 
... 
<div id="langnl" class="invisible"> 
     <img id="flag" src="en.jpg" onclick="change(-1,'en')"/> 
    </div> 
    <div id="langen" class="invisible"> 
     <img id="flag" src="nl.jpg" onclick="change(-1,'nl')"/> 
    </div> 

CSS:

.footer #lang { 
     float:right; 
     width: 30px; 
     height: 20px; 
text-align:center; 
    } 
    .footer #lang img { 
     width: 30px; 
     height: 20px; 
     margin: 0px auto; 
     border-radius: 5px; 
    } 

JS:

if (!flipping) { 
      flipping = true; 
      $('#flag').animate({ 
       width: 0, 
      }, flipTime, function() { 
       $('#lang').html($('#lang'+lang).html()); 
      }).animate({ 
       width: 30, 
      }, flipTime, function() {flipping = false;}); 
     } 

我的意見:第一個標誌翻轉的作品,但沒有設置動畫的第二部分,因爲我刪除#flag,並將其替換。下一次翻轉不起作用,因爲翻轉仍然是錯誤的。

如何解決這個問題,並繼續動畫,但取代div的內容?

+1

有2個元素使用相同的id不是一個好主意id =「flag」 –

+0

其實這是一個可怕的想法。 id屬性應該唯一標識一個頁面上的元素。找到另一種方式來做到這一點,我的猜測是,你將有,解決你的問題。 – Matthew

+0

你是非常正確的。愚蠢的,我會解決它,我希望問題會解決這種方式(我不這麼認爲,我仍然在動畫製作時更換代碼)。我會盡快寫信。 – Hidde

回答

0

問題是我有兩個具有相同ID的div,而不是我正在改變我正在動畫的div。