Jump to content
QbisieQ

JavaScript : problem z wywołaniem funkcji

Recommended Posts

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 />

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

We are using cookies. Read about our Privacy Policy