tengo una página que tiene una gran cantidad de transacciones a la base de datos y algunas cosas más y la página tarda unos 5-10 segundos más o menos en cargarse y me gustaría ponerle una pantalla de carga,bien sea un "espere", un "cargando", una ventana modal diciendo "un momento" o incluso una ventana de progreso según se cargan los elementos pero después de dos horas buscando no he conseguido el resultado.
El tiempo de espera tiene que coincidir aproximadamente con el tiempo de carga de la página ya que no es siempre el mismo. He probado varias opciones con jquery y javascript pero no me han funcionado ninguna de ellas

Si alguien me puede ayudar se lo agradecería un montón.
Un saludo y muchas gracias.