var $buttons = $('.button');
. In my opinion the dollar sign really hurts the readability of the code.
Some developers claim that adding the dollar sign is a good naming convention because it shows that the value represents a jQuery object. If that's the case, then everybody should start using Hungarian notation all of the time. Gross.
The one exception I might make is for
var $this = $(this);
, although even then I would rather prefer something like var me = $(this);
.
Long story short, don't prefix your variables with a dollar sign. Besides, it's not like you're working with PHP or anything.