jsfiddle.net/gbag764n
Ваш код лишь с изменённым фоном. Работает. Исходя из этого можно сказать, что в скрипте есть ошибка, которая прерывает выполнение не дойдя до данной строки. Может быть не подключен jQuery, просмотр консоли, вероятно, сразу даст ответ. Ещё возможно, что вы объявляете $(window).on('load', function() { /* ... */ }) внутри такого же onload или же похожая ситуация, когда вы ставите обработчик на onload, который уже прошёл.
Ну и немного занудства: если стоит position: absolute/fixed или float: left/right, то display: block ставится автоматом. И код со спиннером можно переписать наглядней с callback'ом:
$spinner.fadeOut(350, function() {
$preloader.fadeOut('slow');
});