Akidus
Akidus

Reputation: 191

Switching between css stylesheets

So, unlike other questions about this, I want to use this code from here: How do I switch my CSS stylesheet using jQuery?

I need to switch between multiple css styles instead of two with the following code (jQuery):

$('#backgroundDefault').click(function (){ $('link[href="style1.css"]').attr('href','style.css'); }); $('#background1').click(function (){ $('link[href="style.css"]').attr('href','style1.css'); });

Can this work? I like the smooth transition between styles, unlike many other code samples I tried.

Upvotes: 1

Views: 464

Answers (1)

choz
choz

Reputation: 17858

Yes, it will work. Whether <link> is either in the <head> or <body>.

Here's a basic sample,

var isToggled = false;
$(function() {
  $('#btnSwitchCss').on('click', function() {
    isToggled = !isToggled;

    if (isToggled) {
      $("link[href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css']").attr('href', '../');
    } else {
      $("link[href='../']").attr('href', 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css');
    }
  })

});
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />

<div class="container">
  <h2 class="text-center"> Switch CSS Style </h2>
  <button id="btnSwitchCss">Switch</button>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Upvotes: 1

Related Questions