It looks like the image is showing by default when the page is loaded. To remove the image and show the content use html() instead of append() in the done function.
This will replace the image with the loaded content.
$("#buttonContent").html('<div id="ck-button"> <label> <input type="checkbox" value="' + value.id + '"><span>' + value.messagetype + '</span> </label></div>');
Since it seems you know the element you are loading the results of you ajax call you can set the content to the spinner when you call the getFilters() function
function getFilters()
{
$("#buttonContent").html('<img id="imageSpinner" src="images/image_623941.gif" style="vertical-align:middle; z-index:200;'">';
// your ajax call
});