2011-11-07 17 views
6

Sayfa yüklemesinde div kutusu titremesi yapmak için zaten var mı? Belki sadece bir iki kez mi?Sayfa yüklemesinde div titremesi mi oluyor?

Güncelleme: Bu URL adresinde hala sayfanın yüklenemediğini, neyi yanlış yapıyorum? http://tinyurl.com/79azbav

Sanırım sayfa yüküne takılıyorum; bu başarısızlık burada görülebilir: Ben de benim zaten body onLoad uygulanan ile animasyon başlatılması denedim Get onpage to work correctly

:

<body onLoad="document.emvForm.EMAIL_FIELD.focus(); document.ready.entertext.shake();" > 

Ama yine bir şampiyon gibi başarısız. Böyle

+6

Yenileyin ve ekranınızı temizleyin! :) – Louie

+0

Anlamadım. –

+0

@Louie, eski IE için geri dönüşümdür =) –

cevap

24

deneyin şey:

DÜZENLEME:
jQuery sözleşmeleri ile tutarlılık için shake() için Shake() değiştirildi.

jQuery.fn.shake = function() { 
    this.each(function(i) { 
     $(this).css({ "position": "relative" }); 
     for (var x = 1; x <= 3; x++) { 
      $(this).animate({ left: -25 }, 10).animate({ left: 0 }, 50).animate({ left: 25 }, 10).animate({ left: 0 }, 50); 
     } 
    }); 
    return this; 
} 

DÜZENLEME: Benim örnekte
left pozisyon 25 olarak ayarlanır, ancak daha ince etki için bu azaltmak veya daha belirgin etki için bunu artırabilir.

shake fonksiyonunu kullanarak:

$("#div").shake(); 

İşte gösteren bir jsFiddle var: http://jsfiddle.net/JppPG/3/

+0

Yanıt için teşekkürler, ancak bunun hangi div için geçerli olduğunu nerede tanımlayabilirim? –

+0

@Truth: Uygulamayı gösterdiğiniz için teşekkür ederiz. –

+0

@LouieLouie: Bu bir jQuery işlevidir, böylece sayfadaki herhangi bir öğede kullanabilirsiniz. –

4

hafif varyasyon @ James-Johnson mükemmel cevabı ~ ~ absolute konumlandırılmış öğelerini sallayarak için. Bu işlev, öğenin geçerli left konumunu alır ve bu noktaya göre sallar. Daha az şiddetli bir sarsıntı için gittim, gaz işareti 10.

jQuery.fn.shake = function() { 
    this.each(function (i) { 
     var currentLeft = parseInt($(this).css("left")); 
     for (var x = 1; x <= 8; x++) {    
      $(this).animate({ left: (currentLeft - 10) }, 10).animate({ left: currentLeft }, 50).animate({ left: (currentLeft + 10) }, 10).animate({ left: currentLeft }, 50); 
     } 
    }); 
    return this; 
} 
İlgili konular