Avatar billede nickyc Nybegynder
11. september 2007 - 14:12 Der er 1 kommentar og
1 løsning

Skift stylesheet

Hey alle..

Har brugt denne guide til at prøve at skifte stylesheet ved tryk på en knap: http://www.alistapart.com/articles/alternate/

Dog kan jeg ikke få det til at virke...

Jeg har disse 2 stylesheets:
<link type="text/css" rel="alternate stylesheet" media="screen,projection" href="/site/css/inet_main_food.css" />

<link type="text/css" media="screen,projection" href="/site/css/inet_main.css" />
------------------------------------------

inet_main_food.css er det alternative css sheets.

Så har jeg 2 knapper

<a onclick=""setActiveStyleSheet('inet_main');"" href="""& langroot_8 &""">Style1</a>

<a onclick=""setActiveStyleSheet('inet_main_food');"" href="""& langroot_8 &""">Style2</a>

Dog skfiter den ikke når jeg trykker på style2...

Scriptet ser sådanne ud:

function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
}

function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}

function getPreferredStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
      && a.getAttribute("rel").indexOf("alt") == -1
      && a.getAttribute("title")
      ) return a.getAttribute("title");
  }
  return null;
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

window.onload = function(e) {
  var cookie = readCookie("style");
  var title = cookie ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title);
}

window.onunload = function(e) {
  var title = getActiveStyleSheet();
  createCookie("style", title, 365);
}

var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);
Avatar billede nickyc Nybegynder
11. september 2007 - 14:58 #1
Lukker, løste det ved at bygge en funktion i ASP
Avatar billede roenving Novice
13. september 2007 - 14:31 #2
Hvorfor tager du ikke udgangspunkt i et id på de forskellige stylesheets ?-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester