Anzeige

JS Code erklärung

JS Code erklärung | PSD-Tutorials.de

Erstellt von Janine17, 06.01.2012.

  1. Janine17

    Janine17 Nicht mehr ganz neu hier

    Dabei seit:
    22.02.2008
    Beiträge:
    77
    Geschlecht:
    weiblich
    JS Code erklärung
    Hallo ihr lieben,

    ich bin mir nicht sicher ob ich es richtig verstanden habe, ich hoffe ihr helft mir.

    <link rel="stylesheet" type="text/css" href="test.css" title="standard" />
    <link rel="alternate stylesheet" type="text/css" href="test2.css" title="wechsel" />

    das sind meine verweise und nun hab ich ne Frage zu JS.

    Code (Text):
    1. function setActiveStyleSheet([COLOR="Red"]title[/COLOR]) {
    2.   var i, a, main;
    3.   for(i=0; (a = document.getElementsByTagName([COLOR="red"]"link"[/COLOR])[i]); i++) {
    4.     if(a.getAttribute([COLOR="red"]"rel"[/COLOR]).indexOf([COLOR="red"]"style"[/COLOR]) != -1 && a.getAttribute([COLOR="red"]"title")[/COLOR]) {
    5.       a.disabled = true;
    6.       if(a.getAttribute([COLOR="red"]"title") == title[/COLOR]) a.disabled = false;
    7.     }
    8.   }
    9. }
    Meine Fragen betreffen die rot markierten Sachen.
    Gebe ich bei title=standard ein? Bei link muss nix hin oder? weil sich das auf denn kompletten link bezieht? Kommt bei rel dann stylesheet? Kommt bei style dann css hin oder was?

    Ich weiß es ist sicher richtig simpel, aber ich check es echt nicht.
     
    Zuletzt bearbeitet: 06.01.2012
    #1      
  2. Zampano_

    Zampano_ Nicht mehr ganz neu hier

    Dabei seit:
    05.10.2010
    Beiträge:
    158
    Geschlecht:
    männlich
    JS Code erklärung
    AW: JS Code erklärung

    So wie ich die Funktion verstehe soll die dir das Stylesheet austauschen.
    Ändern musst du dafür daran gar nichts.
    Beim Aufruf der Funktion musst du den title des Stylesheets übergeben, welches du aktivieren möchtest. Alle anderen eingebnundenen Stylesheets werden deaktiviert.

    Wenn du also in deinem Fall das 2te aktivieren möchtest ruftst du einfach

    PHP:
    1. setActiveStyleSheet("wechsel");
    auf.

    Möchtest du danach das erste wieder haben rufst du
    PHP:
    1. setActiveStyleSheet("standard");
    auf.

    (das sind natürlich ein JS-Aufrufe! ;) )
     
    Zuletzt bearbeitet: 06.01.2012
    #2      
  3. Janine17

    Janine17 Nicht mehr ganz neu hier

    Dabei seit:
    22.02.2008
    Beiträge:
    77
    Geschlecht:
    weiblich
    JS Code erklärung
    AW: JS Code erklärung

    hmm ich kann dir ja mal den kompletten code posten den ich gefunden habe um sowas zu wechseln.

    Code (Text):
    1. function setActiveStyleSheet(title) {
    2.   var i, a, main;
    3.   for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    4.     if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
    5.       a.disabled = true;
    6.       if(a.getAttribute("title") == title) a.disabled = false;
    7.     }
    8.   }
    9. }
    10.  
    11. function getActiveStyleSheet() {
    12.   var i, a;
    13.   for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    14.     if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
    15.   }
    16.   return null;
    17. }
    18.  
    19. function getPreferredStyleSheet() {
    20.   var i, a;
    21.   for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    22.     if(a.getAttribute("rel").indexOf("style") != -1
    23.        && a.getAttribute("rel").indexOf("alt") == -1
    24.        && a.getAttribute("title")
    25.        ) return a.getAttribute("title");
    26.   }
    27.   return null;
    28. }
    29.  
    30. function createCookie(name,value,days) {
    31.   if (days) {
    32.     var date = new Date();
    33.     date.setTime(date.getTime()+(days*24*60*60*1000));
    34.     var expires = "; expires="+date.toGMTString();
    35.   }
    36.   else expires = "";
    37.   document.cookie = name+"="+value+expires+"; path=/";
    38. }
    39.  
    40. function readCookie(name) {
    41.   var nameEQ = name + "=";
    42.   var ca = document.cookie.split(';');
    43.   for(var i=0;i < ca.length;i++) {
    44.     var c = ca[i];
    45.     while (c.charAt(0)==' ') c = c.substring(1,c.length);
    46.     if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    47.   }
    48.   return null;
    49. }
    50.  
    51. window.onload = function(e) {
    52.   var cookie = readCookie("style");
    53.   var title = cookie ? cookie : getPreferredStyleSheet();
    54.   setActiveStyleSheet(title);
    55. }
    56.  
    57. window.onunload = function(e) {
    58.   var title = getActiveStyleSheet();
    59.   createCookie("style", title, 365);
    60. }
    61.  
    62. var cookie = readCookie("style");
    63. var title = cookie ? cookie : getPreferredStyleSheet();
    64. setActiveStyleSheet(title);
    und ich muss nur bei title was eintragen oder wie? Weil das ja so ne lange funktion und ich dachte es muss bei style, rel etc was rein?!
     
    #3      
  4. Zampano_

    Zampano_ Nicht mehr ganz neu hier

    Dabei seit:
    05.10.2010
    Beiträge:
    158
    Geschlecht:
    männlich
    JS Code erklärung
    AW: JS Code erklärung

    Das title ist eine Variable die du mit einem "beliebeigen" Wert beim Aufruf der Funktion füllen kannst (s.o.). Beliebig heißt in dem Fall halt der title eines eingebundenen CSS-Links. An der Funktion selber musst du dafür nichts ändern!

    Was möchtste denn überhaupt machen?
     
    #4      
  5. Janine17

    Janine17 Nicht mehr ganz neu hier

    Dabei seit:
    22.02.2008
    Beiträge:
    77
    Geschlecht:
    weiblich
    JS Code erklärung
    AW: JS Code erklärung

    aso, weil ne freundin meinte title kann ich weglassen, aber irgendwas dachte ich mir muss ich ja angeben das er weiß das er die css dateien wechseln soll. ja ich will zwei css dateien einbinden in dem der nutzer entscheiden kann welche er aufrufen möchte.

    Aso: na ja und mit dem Cookie will ich das er das festlegt also sich merkt....:)
    Also mir wurde nun gesagt es kann alles so bleiben. Trotzdessen klappt es bei mir nicht.

    Ich hab jetzt wie oben das script und die beiden links und im html hab ich:
    <a href="#" onclick="setActiveStyleSheet('standard'); return false;">change style to standard</a>

    <a href="#" onclick="setActiveStyleSheet('test2'); return false;">change style to test2</a>
     
    Zuletzt bearbeitet: 06.01.2012
    #5      
  6. Chriss1987

    Chriss1987 me.drinkCoffee();

    Dabei seit:
    26.03.2006
    Beiträge:
    378
    Geschlecht:
    männlich
    Ort:
    Kirchhundem
    Kameratyp:
    Canon EOS 400D
    JS Code erklärung
    AW: JS Code erklärung

    Hi,

    hast du dir mal die Fehlermeldungen in der Fehlerkonsole angeschaut? Wird da was aufgeführt? So erkennt man den Fehler meistens am schnellsten! ;)

    Schöne Grüße aus dem Sauerland!
    Chriss
     
    #6      
  7. cebito

    cebito undefined

    262
    Dabei seit:
    08.03.2008
    Beiträge:
    8.316
    Geschlecht:
    männlich
    Ort:
    Dresden
    Kameratyp:
    zum durchgucken
    JS Code erklärung
    AW: JS Code erklärung

    Das zweite stylesheet hat den Titel "wechsel", nicht "test2".
     
    #7      
  8. Janine17

    Janine17 Nicht mehr ganz neu hier

    Dabei seit:
    22.02.2008
    Beiträge:
    77
    Geschlecht:
    weiblich
    JS Code erklärung
    AW: JS Code erklärung

    oha...danke für eure hilfe:) *sieht den wald vor lauter bäume nicht mehr*
     
    #8      
Seobility SEO Tool
x
×
×