Kod
$('#ac').css('marginTop', function(index) {
return parseInt($(this).css('marginTop'))+80;
});
domyślnie zwracany integer jest traktowany w px przy ustawianiu wartości... jednak z css('marginTop') jest zwracany string np. "20px" - by móc dodać wartość musisz string zamienić na liczbę... swoją drogą skoro tutaj masz jeden element to w ogóle nie wiem do czego Ci tu jest potrzebny callback - ale skoro tak wolisz to i tak masz...
swoją drogą lepiej by też było zrozumieć czysty javascript, zasięg zmiennych, wiedzieć kiedy do czego odnosi się this, poczytać trochu o dziedziczeniu... wtedy nawet jakbyś nie kożystał z jquery a z pośpiechu chciałbyś coś w nim bardziej skomplikowanego zrobić nie będzie to stanowiło większego problemu...
ZAINTERESUJ SIĘ JESZCZE KONSOLAMI W PRZEGLĄDARKACH - google chrome skrót crlt+shift+I... do mozilli doinstaluj sobie firebug'a, w operze dragonfly włącza się chyba tak samo jak konsole w google chrome... w IE bodajże od 8 konsola też jest standardowo... wypluć informacje na konsole możesz w firebug'u przez console.log [uwaga - jeśli masz włączonego firebuga - inaczej Ci to będzie powodowało błędy w działaniu skryptów] - w innych przeglądarkach bodajże jest podobnie console.log - ja sobie to troszku obudowałem do swoich potrzeb...