2016-02-23 227 views
-1

我正在嘗試使用moveButton函數交換元素。當用戶點擊其中一個圖像時,將第一個圖像移動到#good div,然後剩下的任何圖像都會進入#evil div。我有我認爲會工作的if/else語句。將其中一個元素移到另一個元素中,其餘元素將移動到第三個位置

<div id="character"> 
    <script type="text/javascript"> 
    function moveButton(elem){ 
     if($(elem).parent().attr("id") == "menu"){ 
      $(elem).detach().appendTo('#good'); 
     } 
     else{ 
      $(elem).detach().appendTo('#evil'); 
     } 
    } 
    </script>  
</div> 
<div id="good"> 

</div> 
<div id="evil"> 

</div> 
<div id="menu"> 
    <div class="character" onclick="moveButton(this)" data-name="Chomper"> 
    <p>Chomper</p><p><img width="100" src="http://vignette2.wikia.nocookie.net/plantsvszombies/images/a/a3/Chomper1.png/revision/latest?cb=20090521220057" alt=" + Chomper + "></p><p>Hit Points: 3.55</p> 
    </div> 
    <div class="character" onclick="moveButton(this)" data-name="Kernel-pult"> 
    <p>Kernel-pult</p><p><img width="100" src="http://vignette4.wikia.nocookie.net/plantsvszombies/images/c/c4/Kernel-pult1.png/revision/latest?cb=20090521220358" alt=" + Kernel-pult + "></p><p>Hit Points: 1.55</p> 
    </div> 
</div> 
+0

你想讓這些圖標可以從邪惡中移除嗎?你想讓圖標停止在邪惡的切換? –

回答

0

門你如果與像fiddle

<script type="text/javascript"> 
    var good = false; 

    function moveButton(elem) { 
    if ($(elem).parent().attr("id") == "menu" && !good) { 
     $(elem).detach().appendTo('#good'); 
    } else { 
     $(elem).detach().appendTo('#evil'); 
    } 
    good = true; 
    } 

</script> 

一個布爾值,在發送的所有剩餘caracters邪使用$("#menu").find(".character").detach().appendTo('#evil');

fiddle 2

<script type="text/javascript"> 
    var good = false; 

    function moveButton(elem) { 
    if ($(elem).parent().attr("id") == "menu" && !good) { 
     $(elem).detach().appendTo('#good'); 
    } else { 
     $(elem).detach().appendTo('#evil'); 
    } 

    $("#menu").find(".character").detach().appendTo('#evil'); 

    good = true; 
    } 

</script> 
+0

Sascha,感謝您的回答,如果我繼續點擊這些元素,似乎就能奏效。我想知道是否有可能將所有剩餘的元素移動到邪惡部分,當我點擊這個好人。再次感謝你。 –

+0

是的。我爲你調整了小提琴。請參閱上面的擴展答案。 –

0

不要把這個函數傳遞給你的函數,它已經在範圍之內了。同樣使用detach()方法,您正在從DOM中刪除元素。請嘗試以下...

function moveButton() { 
    if($(this).parent().attr("id") == "menu") { 
     $(this).appendTo('#good'); 
    } else { 
     $(this).appendTo('#evil'); 
    } 
} 
相關問題