Posted July 26, 201212 yr Chciałem stworzyć sobie skrypt do zmiany skórki/motywu na stronie i dla testu napisałem prosty skrypt w sekcji head. Niestety funkcja odpowiedzialna za wczytanie odpowiedniego arkusza css w ogóle się nie wykonuje. Nie wiem co jest źle, skrypt w head wygląda tak: <br /> <br /> <br /> function setTheme (theme = "")<br /> {<br /> if(theme == "red")<br /> document.write('<link rel="stylesheet" href="'+theme+'.css" type="text/css">');<br /> else if(theme == "green")<br /> document.write('<link rel="stylesheet" href="'+theme+'.css" type="text/css">');<br /> else<br /> document.write('<link rel="stylesheet" href="green.css" type="text/css">');<br /> }<br /> <br /> setTheme("");<br /> <br />
July 26, 201212 yr możesz sobie wyalertować theme. osobiście nie zmieniałem linków do cssa więc nie wiem czy przypadkiem nie trzeba przeładować danych albo zrobić zamianki typu outerHTML by się wykonało.
July 27, 201212 yr Witaj QbisieQ, Miałeś błędzik w deklaracji zmiennej w funkcji. Teraz jest dobrze: <br /> <br /> <br /> function setTheme (theme)<br /> {<br /> if(theme == "red")<br /> document.write('<link rel="stylesheet" href="'+theme+'.css" type="text/css">');<br /> else if(theme == "green")<br /> document.write('<link rel="stylesheet" href="'+theme+'.css" type="text/css">');<br /> else<br /> document.write('<link rel="stylesheet" href="green.css" type="text/css">');<br /> }<br /> <br /> setTheme("");<br /> <br /> Dodatkow sugeruję nie używać "==", a "===". "Podwójne porównanie" jest bardziej podatne na błędy: http://www.impressivewebs.com/why-use-triple-equals-javascipt/. function setTheme (theme) { if(theme === "red") document.write(''); else if(theme === "green") document.write(''); else document.write(''); } setTheme(""); Pozdrawiam, Artur
July 27, 201212 yr Do zmiany stylów może lepiej tak zrobić (nie testowałem, stąd nie wiem, czy wszędzie działa): http://www.inetsolution.com/turnleft/post/CSS-Style-Switcher-A-quick-and-dirty-how-to.aspx
Create an account or sign in to comment