Gå til innhold

[Løst] Bytte css ved å trykke


Anbefalte innlegg

Hei

 

Jeg har en hjemmeside hvor jeg har to csser. Ene er standard og andre er lik men med andre farger.

function changeStyle(title) {
var lnks = document.getElementsByTagName('link');
for (var i = lnks.length - 1; i >= 0; i--) {
if (lnks[i].getAttribute('rel').indexOf('style')> -1 && lnks[i].getAttribute('title')) {
lnks[i].disabled = true;
if (lnks[i].getAttribute('title') == title) lnks[i].disabled = false;
}}}

For å hente ut bruker jeg dette:

<a href="#" onclick="changeStyle('Standard CSS'); return false;">Standard</a>
<a href="#" onclick="changeStyle('Høykontrast CSS'); return false;">Høykontrast</a>

Problemet er at den ikke husker. Jeg har hørt at det er mulig med Cookies men samtidig har jeg hørt at det ikke er anbefalt til det. Noen tips?

 

 

Jeg har også et spørsmål til.

Jeg har også et javascript som jeg tidligere har brukt i en tidligere oppgave og da fungerte den, men nå er selve oppgaven mye større som gjør at jeg må bruke include og jeg tror at noe hindrer slik at den ikke fungerer. I tillegg har jeg lagt inn alt som $html = leggetil(); osv.

  function setTextSize(size) {

		    var a = '10px'; // LITEN SKRIFT
		    var b = '16px'; // MIDDELS SKRIFT
		    var c = '24px'; // STOR SKRIFT

		    if (size === 'small') {
			    size = a;
		    } else if (size === 'large') {
			    size = c;
		    } else {
			    size = b;
		    }

		    document.getElementById('innhold').style.fontSize = size;	 
 }	  

 

<a href="javascript:void(0);" onclick="setTextSize('small'); return false;" title="Reduser skriftstørrelse" style="font-size:15px;">A</a>
<a href="javascript:void(0);" onclick="setTextSize('medium'); return false;" title="Normal skriftstørrelse" style="font-size:20px;">A</a>
<a href="javascript:void(0);" onclick="setTextSize('large'); return false;" title="øke skriftstørrelse" style="font-size:25px;">A</a>

 

 

EDIT: Lagt til spm 2

Endret av corsa91
Lenke til kommentar
Videoannonse
Annonse

Det er forskjellige fordeler og bakdeler med hver av de lagringsmetodene. Du bør lese deg opp på hver av de og finne ut hvilken lagringsmetode som passer best for ditt tilfelle. Du kan også bruke serverscripting som PHP til lagring. Til databaser og filer må du bruke serverscripting.

Lenke til kommentar

Er ikke noe problem å bruke Cookies til å lagre hvilket stylesheet brukeren vil ha som default. Bare du ikke bruker Cookies til å lagre sensitiv informasjon ;)

 

Til spørsmål #2:

Du må passe på at siden er ferdig lastet før du kjører den funksjonen, slik at javascript vet om alle elementene på siden.

 

window.onload = function () {
 // Legg til eventlisteners her..
}

 

Legg heller til eventlisteners inne i den funksjonen i stedet for å kalle funksjonen direkte på linken.

 

Tror det skal løse problemet.

Lenke til kommentar

fikk fikset cookies biten. Var egentlig ikke så vanskelig så lenge man skjønner.

 

Jeg har tidligere kjørt det uten å ha noe form for sånt. Måtte bruke en divtag som eks het innhold. Og alt som stod innenfor ble forstørret. Problemet nå er at jeg ikke har en main divtag

Lenke til kommentar

Om du har registrerte brukere ville jeg brukt DB til å lagre slik informasjon.

 

Om det bare er besøkende ville jeg satset på å bruke sessions istedet for cookies siden det har kommet ett EU direktiv der brukeren må godta bruk av cookies før det er lovlig. Jeg ser det er en del sider som bare sier "This website uses cookies. By continuing to use the website, you consent to the use of cookies." eksempel ups.com

Endret av SniperVPN
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...