2010-11-18 26 views
2

Şimdiye kadar yaptım ki, 120'lik artışlarla bir tıklama üzerinde aşağı doğru hareket ettim, ama aşağı yukarı, aşağı ve aşağı gitmek istiyorum. Umarım bunu açıkladım ki "birisi" anlayacaktır.jQuery .click .animate aşağıya hareket ettirin, sonra geri dönün

<script> 
    $(document).ready(function() { 
    $('#footertab').click(function() { 
     $('#footer').animate({ 
     bottom: '-=120' 
     }, 1000, function() { 
     // Animation complete. 
     }); 
    }); 
    }); 
    </script> 
+0

Eğer o zaman geriye dönme 1 saniye hamlede bir geçiş olarak ya da aşağı taşımak istediğiniz musunuz: fonksiyonu - Bu .toggle() ile yapılabilir? – JonVD

+0

Üzgünüm geçiş yap. Teşekkürler, –

cevap

6

Bunu doğru yaparsam, altbilginin konumunu değiştirmek isteyebilirsiniz.

$(document).ready(function() { 
    $('#footertab').toggle(function() { 
    $('#footer').animate({ 
     bottom: '-=120' 
    }, 1000); 
    },function() { 
    $('#footer').animate({ 
     bottom: '+=120' 
    }, 1000); 
    }) 
}); 
+0

}, on line 10}) ile küçük bir sözdizimi hatası, mükemmel çalışıyor! –

+0

.toggle() 'nın bu kullanımı jQuery 1.8/1.9'dan beri [kullanım dışı/kaldırıldı] (http://api.jquery.com/toggle-event/) – brennan

2

Bunun için .toggle() kullanabilirsiniz:

$(function() { //shortcut for $(document).ready(function() { 
    $('#footertab').toggle(function() { 
    $('#footer').animate({ bottom: '-=120' }, 1000); 
    }, function() { 
    $('#footer').animate({ bottom: '+=120' }, 1000); 
    }); 
}); 

.toggle() kullanarak, her click olay -= ve += animasyonlar çalıştıran arasında geçiş yapılır. Ayrıca, bir şey yapmazsa animasyonu geri aramaya gerek yoktur, sadece onu bırakın.

0
<script> 
    $(document).ready(function() { 
    $('#footertab').toggle(
     function() { 
     $('#footer').animate({ 
      bottom: '-=120' 
     }, 1000, function() { 
      // Animation complete. 
     }); 
     }, 
     function() { 
     $('#footer').animate({ 
      bottom: '+=120' 
     }, 1000, function() { 
      // Animation complete. 
     }); 
     }, 
    ); 
    }); 
    </script>