Hola, yo creo que puede ser por 2 cosas:
- Las imagenes son muy pesadas y no están optimizadas para web.
- Puede que se solucione sí agregas la propiedad transition en la clase a, ej:
Código CSS:
Ver original.myclass > a {transition: background 3s ease}
Igual te tengo otras recomendaciones: 1) Para los botones, son muy pocos los casos donde necesitas usar una imagen de fondo, excepto cuando no se puedan generar estos fondos solo con CSS. Igual tienes que darle un fallback y usar un color de fondo contrastante con el texto del boton, en caso que no cargue bien la imagen, por usabilidad.
2) En vez de usar 2 imágenes, usa una sola. Busca sobre como hacer sprites con css y background-position, que además te ahorra las peticiones al servidor.