jquery

2016-03-23 11 views
0

ile html öğelerini kaldırma ve alma ile ilgili sorunlar Yaşama Temel olarak bir öğeyi aşağı kaydırmak istiyorum, sonra düğmeye tekrar vurduğunda, kaydırmak istiyorum, div boşaltın ve sonra yeni sonuçları ile aşağı kaydırın. Bunu uzun süredir nasıl yapacağımı anlamaya çalışıyorum ve jquery ile çalışmayı başaramıyorum.jquery

$(".search").on("click",function(){ 
    $('.results').slideUp(500).empty().append("<p>Results</p>").hide().slideDown(500) 
}); 

ben bu projemin tür tür özeldir anlıyorum ama ben eleman aşağıya doğru kaymaya istiyorum bu yararlı

+1

sorununuzu kolaylaştırın, gereksiz kodları –

+0

bir çok ki ... O kelimeyi farkında mısın "Ben ettik" dir , sağ? İngilizce "Iv" kelimesi yok. Ayrıca, "jquery ile çalışmayı başaramadığınızı" söyleyemezsiniz. Neler oluyor, bunun işe yaramadığını söyleyen nedir? Şu anda, for döngüsünün her yinelemesinde bir tıklama olayı işleyicisi ataıyorsunuz, ki istemiyorsunuzdur ... –

+0

Tamam, sorularımı tekrar okurken ne kadar kafa karıştırıcı görebiliyorum. , Bazı şeyleri gerçekten hızlı bir şekilde düzeltir ve çok daha basit hale getiririm. –

cevap

3

Tam olarak senin sorununun ne olduğundan emin değilim, ama slayt animasyonunun örnekte gösterilmediğini düşünüyorum.

slideUp yöntemi, işlev geri çağrısı olan ikinci bir argüman alır. SlideUp eylemi bittiğinde çağrılır. Bu geriçağırım işlevinde eylemlerin geri kalanını yaparsanız, slideUp'tan sonra gerçekleştirilmesi garanti edilir.

Burada bir dolu çalışma örnek bulabilirsiniz

jQuery('#testbutton').on('click',function() { 
    $('#testlist').slideUp(500, function() { 
    $('#testlist').empty().append("<li>this is a test</li>").slideDown(500); 
    }); 
}); 
:

https://jsfiddle.net/dxyybwyh/5/

+0

Sen bir literal hayat kurtarıcısı, çok teşekkür ederim: D –

1

bulabilir diğerlerini hissediyorsunuz, sonra düğmeye tekrar vurduğunuzda , yukarı kaydırıp div'unu boşaltmayı ve ardından yeni sonuçlarıyla aşağı kaydırılmasını istiyor.

Bana yeterince basit görünüyor

daha şeye ihtiyacın olursa haber ver

http://codepen.io/Rohithzr/pen/jqmGXg

$('#myButton').click(function() { 
    if ($(".myDiv").is(":hidden")) { 
    //show the div 
    $(".myDiv").slideDown("slow"); 
    //add content 
    $(".myDiv").html("New Content") 
    } else { 
    //hide the div 
    $(".myDiv").slideUp("slow"); 
    //clear content 
    $(".myDiv").html(""); 

    } 
}); 
Güncelleme ekleme yeteneği ve daha okunabilirlikle kalem

$('#myButton').click(function() { 
    if ($(".myDiv").is(":hidden")) { 
    show(); 
    } else { 
    hide(); 
    clearContent(); 
    appendContent("New Content"); 
    } 
}); 
function clearContent(){ 
    //clear content 
    $(".myDiv").html(""); 
} 
function appendContent(content){ 
    $(".myDiv").html($(".myDiv").html()+content); 
} 
function hide(){ 
    //hide the div 
    $(".myDiv").slideUp("slow"); 
} 
function show(){ 
    //show the div 
    $(".myDiv").slideDown("slow"); 
} 
+0

Bu çözümle ilgili bir problem, yeni konunun slideUp sırasında eklenmesidir. Ne zaman ateş açılacağını ve ekleneceğini belirlemek için Geriçağırım Mekanizması'nı kullanmalısınız. –

+0

iyi evet sadece yukarıda kogelnikp tarafından belirtildiği gibi geri arama işlevini kullanabilirsiniz ... üzgünüm öyleydi bu yüzden yorumunuzu daha önce göremiyordum –