DEMO İNDİR
JavaScript
var backgroundPosX=0 /* su efekti x-position */ var yuzde=50; /* bar yuzdesi */ var hedefy=50; /* hedef yuzde; yukselme-alcalma efekti saglamak icin */ /* her 17ms bir calistirilan fonksiyon 60fps; 1000ms/60=16.666 ms */ function animation(){ /* hedef yuzdeye dogru yukselme yada alcalma */ if (hedefy < yuzde) yuzde-=1; if (hedefy > yuzde) yuzde+=1; /* bar yuzdesi ayarlaniyor */ bar_set(yuzde); /* su efekti icin background kaydiriliyor */ backgroundPosX+=1; $("#bar_full").css('background-position', backgroundPosX+'px 0px'); /* animasyon 17ms sonra tekrar cagrilacak */ setTimeout("animation()", 17); } /* bar in yuzdesini ayarlama. */ function bar_set(n){ $('#bar_full').css('height', n+'%'); $('#bar_empty').css('height', (100-n)+'%'); $('#bar_text').html('%'+yuzde); } /* hedef yuzdeyi ayarlama */ function set(n){ hedefy=n; /* [0-100] arasinda tutuluyor */ if(hedefy<0)hedefy=0; else if(hedefy>100)hedefy=100; } /* increment */ function inc(n){set(hedefy+n);} $(document).ready(function(){ /* varsayilan yuzde degeri ataniyor */ bar_set(yuzde); /* yuzdeyi gosteren textin pozisyonu ayarlaniyor */ y=$('#bar').height()/2-$('#bar_text').height()/2 $('#bar_text').css('margin-top', y); $('#bar_text').css('width', $('#bar').width()); /* animasyon baslatiliyor */ animation(); });
CSS
#bar{ width:50px; height:200px; border:1px solid #2000a9; margin:3px; } #bar_text{ font-family:Helvetica; position:absolute; text-align:center; color:white; text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black } #bar_full{ background:#de0000 url('b.png') repeat-x; } #bar_empty{ background:#e9e3ff; }
HTML
Hiç yorum yok:
Yorum Gönder