Как сделать preloader при нажатии на кнопку?
Вдохну жизнь в ответ Егор Живагин этим фидлом https://jsfiddle.net/5gdb16ou/
Верстаешь отдельно блок-прелоадер. Стилями скрываешь его, например:.preloader {
position: fixed;
left: 0px;
top: 0px;
right: 0px;
bottom: 0px;
display: none;
}
В блок с прелоадером кладёшь гифку/блок с анимацией/svg (да что угодно) . 
По клику на кнопку показываешь. 
Если по клику у тебя ajax-запрос какой-нибудь, в коллбеке опять скрываешь прелоадер.