2016-04-06 21 views
2

Tıklama dizisinde ekleme menüsü yapmaya çalışıyorum. Ama burada bir sorum var. İkinci tıklamadan sonra ekli öğeleri nasıl kaldırabilirim. Bu konuda bana herkes yardımcı olabilir mi?jquery tıklayın ve ikinci tıklamayı ekle'yi tıklayın

Bu

codepen.io den DEMO sayfa Js

olduğunu
$(document).ready(function(){ 
    $("body").on("click", ".menu-button", function(event){ 
     event.preventDefault(); 
     $(".menu-container").append('<div class="button"></div><div class="rebackbar"></div><div class="abc" id="myDiv"></div><div class="lBrgF"><div class="card"><span class="three-quarters-loader">Loading&#8230; </span></div></div>'); 
    }); 

}); 
+0

neden kullanmak Yüklü geçiş jquery http://api.jquery.com/toggle/ –

+1

Bunu deneyin: http://codepen.io/anon/pen/yOPwvw –

cevap

3

daha iyi olurdu eklemek yerine elemanı geçiş gibi görünüyor, ama sadece bir çek koyabilirsiniz

var childNodes = $(".menu-container").children(); 
if (childNodes.length) { 
    childNodes.remove(); 
} else { 
    $(".menu-container").append("..."); 
} 
+0

Cevabınız için teşekkürler. Soruma ilişkin bir soru daha sorabilir miyim? Kodunuz temiz ve anlaşılabilir ancak diğer alan eklendikten sonra nasıl kaldırabilirim? $ ("Body"). Gibi ("click", function() {}); – Azzo

+0

'$ (" body "). On (" tıklayın ", işlev (evt) { eğer (! $ (Evt.target) .closest (". Menu-container "). Uzunluk) { $ (". Menu) -container ") children(). remove(); } });' – epascarello

+0

artık işe yaramıyor. [DEMO] (http://codepen.io/shadowman86/pen/VarRrm) – Azzo

1

İçeriği yalnızca içeriği yoksa ekleyin.

$(document).ready(function() { 

    $("body").on("click", ".menu-button", function(event) { 
     event.preventDefault(); 
     if (!$('.button').length) { 
     $(".menu-container").append('<div class="button"></div><div class="rebackbar"></div><div class="abc" id="myDiv"></div><div class="lBrgF"><div class="card"><span class="three-quarters-loader">Loading&#8230; </span></div></div>'); 
     } else { 
     $(".menu-container").html(''); // Empty after 
     } 
    }); 

}); 
1

Burada menu-container .Bu içeriğini boşaltmak için dblclick olay aradım başka bir çözüm var son çocuğu kaldırmak istediğiniz tüm div.Incase boşaltır, boyunu bulmak ve son kaldırabilirsiniz bu şekilde. Hiçbir en zarif çözüm ancak sayede

$("body").on("dblclick", ".menu-button", function(event){ 
     $(".menu-container").empty(); 
    }); 

Working Demo

1

muhtemelen en kolay:

$(document).ready(function(){ 
    $("body").on("click", ".menu-button", function(event){ 
     event.preventDefault(); 
     if($('.menu-container').html().length > 0) { 
     $(".menu-container").html(null) 
     } 
     else { 
     $(".menu-container").html('<div class="button"></div><div class="rebackbar"></div><div class="abc" id="myDiv"></div><div class="lBrgF"><div class="card"><span class="three-quarters-loader">Loading&#8230; </span></div></div>'); 
     } 
    }); 

}); 
İlgili konular