It can be done relatively easily. First of all you need to catch whenever the button is being clicked, and then you need to add the style that will be added to the website when the button is clicked. for different buttons you can even define different stylesheets (for example something like a theme changer). The code to do that is:
$('button.summer').click(function() {
$('head').append('<link rel="stylesheet" href="assets/css/summer.css">');
});
$('button.summer').click(function() {
$('head').append('<link rel="stylesheet" href="assets/css/winter.css">');
});
So when button with the class summer is clicked, another styleshet summer.css will be added to the head section of your page.
When button with the class winter will be clicked, another stylesheet will be added, winter.css to the head section of your page.
This method of work, requires firstly that all the rules that are identic on both summer and winter costum themes of your website will be put into another general main stylesheet called for example general.css or style.css and apply the summer.css and/or winter.css as only costumisations of the general theme.
So they dont replace the general stylesheet of your theme ... they extend it by costumising and creating extra rules for your page elements based on your needs.
Hope it helps.