Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
podmiana stylów css javascriptem
#4
Hmm. Sprawdziłem i mi działa. Po kolei:

1. Robię plik skin.js i wklejam do niego to:
Kod:
/**
* @author Sławomir Kokłowski {@link http://www.kurshtml.boo.pl}
* @copyright NIE usuwaj tego komentarza! (Do NOT remove this comment!)
*/

function Skin(name, expires, path, message)
{
    this.expires = typeof expires != 'undefined' ? expires : 365;
    this.message = typeof message != 'undefined' ? message : 'Wymagana obsługa cookie';
    this.name = typeof name != 'undefined' ? name : 'skin';
    this.path = typeof path != 'undefined' ? path : '/';
    
    var link = null;
    var original = '';
    var css = '';
    
    this.get = function()
    {
        if (css != '') return css;
        var matches = document.cookie.match(new RegExp('(^|;\\s*)' + this.name + '=([^;]*)'));
        if (matches && matches.length == 3) css = matches[2];
        return css;
    }
    
    this.set = function(url)
    {
        document.cookie = this.name + '=' + url + (this.expires > 0 ? ';expires=' + new Date(new Date().getTime() + 86400000 * this.expires).toGMTString() : '') + ';path=' + this.path;
        css = url;
        if (this.message != '' && !navigator.cookieEnabled) window.alert(this.message);
        this.show();
    }
    
    this.reset = function()
    {
        css = '';
        document.cookie = this.name + '=;path=' + this.path;
        this.show();
    }
    
    this.show = function()
    {
        var url = this.get();
        if (url != '' || original != '')
        {
            if (link == null || original == '')
            {
                for (var i = 0; i < document.getElementsByTagName('link').length; i++)
                {
                    if (document.getElementsByTagName('link')[i].getAttribute('rel').toLowerCase() == 'stylesheet')
                    {
                        link = document.getElementsByTagName('link')[i];
                        original = link.getAttribute('href');
                        break;
                    }
                }
            }
            link.setAttribute('href', url != '' ? url : original);
        }
    }
    
    this.show();
}


var skin = new Skin();

2. Robię sobie plik index.html, który wygląda tak:
Kod:
<html>
<head>
<link rel="stylesheet" type="text/css" href="ciepla.css" />
<script type="text/javascript" charset="utf-8" src="skin.js"></script>
</head>
<body>
<a href="index2.html">index2</a><br />
<!-- Pierwsza opcja czyli zmiana poprzez linki -->
<a href="javascript:void(0)" onclick="skin.set('style.css'); return false">Skórka 1</a>< br />
<a href="javascript:void(0)" onclick="skin.set('ciepla.css'); return false">Skórka 2</a><br /><br />

<!-- Druga opcja czyli zmiana poprzez listę -->
<select id="skin" onchange="if (this.value == '') skin.reset(); else skin.set(this.value)">
<option value="style.css">Skórka 1</option>
<option value="ciepla.css">Skórka 2</option>
</select>
<script type="text/javascript">
// <![CDATA[
document.getElementById('skin').value = skin.get();
// ]]>
</script>
</body>
</html>

3. Robię dwa pliki css. U mnie nazwane: ciepla.css i style.css
Żeby je rozróżnić przy próbie w jednym z nich wpisuje:

ciepla.css
Kod:
body {
background:#ff0000;
}
a w drugim:

style.css
Kod:
body {
background:#ffffff;
}

4. Robię drugi plik.html, nazywam go sobie index2.html, a jego zawartosc to:
Kod:
<html>
<head>
<link rel="stylesheet" type="text/css" href="ciepla.css" />
<script type="text/javascript" charset="utf-8" src="skin.js"></script>
</head>
<body>
<a href="index.html">Link zwrotny</a><br />
<p>zawartość strony</p>
</body>
</html>

I śmiga. Robiłem tak jak w tym tutorialu. Sprawdź u siebie czy to co wklejasz do sekcji head w drugim pliku ma poprawne ścieżki do styli. A jak nie zadziała to zrób po kolei to co Ci napisałem i pewnie wyłapiesz swój błąd. Smile

Powodzenia.
Odpowiedz


Wiadomości w tym wątku
podmiana stylów css javascriptem - przez mayev - 16-12-2009, 22:41
RE: podmiana stylów css javascriptem - przez Dhofca - 18-12-2009, 02:29
RE: podmiana stylów css javascriptem - przez mayev - 18-12-2009, 18:49
RE: podmiana stylów css javascriptem - przez Dhofca - 19-12-2009, 07:43
RE: podmiana stylów css javascriptem - przez mayev - 19-12-2009, 22:20
RE: podmiana stylów css javascriptem - przez Dhofca - 19-12-2009, 23:39
RE: podmiana stylów css javascriptem - przez mayev - 20-12-2009, 00:52

Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  podmiana cache michalszyd 2 3,117 30-09-2013, 17:02
Ostatni post: michalszyd
  [CSS]Problem ze zrozumieniem stylów CSS Witek76 5 4,261 17-04-2013, 17:47
Ostatni post: Kartofelek
  podmiana index.php na intro JFRyan 2 2,665 29-01-2013, 17:41
Ostatni post: b3zyr
  pozbawienie stylów domyślnych znacznika wsp 2 1,903 03-11-2012, 18:35
Ostatni post: kornell
  [Wordpress] Linijka czytająca arkusz stylów Szakalowski 1 2,568 20-03-2012, 15:37
Ostatni post: Engine

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
SeoHost.pl