Till Startsidan

Skaffa webbhotell?
Läs JavaScript.nu's jämförelse av webbhotell.
Med priser från
9 kr / månad.

Genom ett samarbete får alla JavaScript.nu-
besökare dessutom 100 kr i rabatt vid beställning.


Re: Editerbar text

[ JavaScript.nu's Forum ] [ Viktigt om forumet ] [ JavaScript.nu's Startsida ]


Forum / Editerbar text
 Tack för utförlig beskrivning. Kommentarerna har jag lagt till endast för min egen del. Eftersom jag är nybörjare underlättar det för mig att veta vad jag gör. Jag har fått denna kod att funka sedan jag skickade in min förfrågan, men jag ska absolut lusläsa även dittt förslag och se om jag kan hitta en bättre lösning.

Det problem jag brottas med för närvarande är följande:


Jag har 12 olika texter som var och en ligger i en div med id (d1,d2 osv.)
Jag har 12 olika svar som ska presenteras under respektive text. De ligger i var sin variabel svar1, svar 2 osv.
Jag har efter mycket möda och god hjälp på nätet fått ihop en kod som placerar svar1 på rätt plats, se nedan.
Men hur gör jag lämpligast för att få alla övriga svar på respektive platser?

[code]
var svar1="Denna dikt har " + dikt1Stycke + " stycken och " + dikt1Rad + " rader."; // själva informationen om dikten
// skapar p-node med texten visa information som är dold från början
var visaInfo = document.createTextNode(svar1); // skapar textnod med svarstext
var visaP= document.createElement('p'); // skapar p-element att lägga textnoden i
visaP.appendChild(visaInfo); // lägger textnoden i p-elementet
var visaInfoText = document.getElementById('d1').appendChild(visaP); // placerar in p-elementet i diktens div-tagg
visaInfoText.style.visibility="hidden"; // ser till att InfoTexten från början är dold
// skapar länken som vid klick ska ta fram visaInfoText
var anchor = document.createElement("a"); // skapar länkelementet för taggen och lägger den i tagAnchor
var anchorText1 = "Visa diktinformation"; // sätter texten på länken
anchor.appendChild(document.createTextNode(anchorText1)); // placerar in länktexten i länken
anchor.onclick = function(event) { // sätter händelsen som utförs när användaren trycker på länken
// vid tryck på länken görs visaInfoText synlig
if (visaInfoText.style.visibility=="hidden"){
visaInfoText.style.visibility="visible";
this.replaceChild(document.createTextNode("Dölj diktinformation"),this.firstChild );// här ändras texten på länken ändras till "Dölj diktinformation"
}
else { //om visaInfoText är synlig
visaInfoText.style.visibility="hidden";
this.replaceChild(document.createTextNode("Visa diktinformation"),this.firstChild ); // här ändras texten på länken ändras till "Visa diktinformation"
}
event.preventDefault(); // hindra användaren från att använda länken för att lämna sidan
}
var place = document.getElementById('d1'); // placerar in länken där den ska vara
place.insertBefore(anchor, visaInfoText);[/code]

Jag tänker mig att man kan placera denna kod i en funktion med en eller troligen flera for-loop eftersom både svaren och div-id ska räknas upp. Men hittills har alla mina försökt misslyckats. Tacksam för förslag till lösning.
Trevlig midsommar!

Postat av nilla (90.130.199.175) den 25 Juni, 2010 kl 12:14:21.
Som svar på: Re: Editerbar text postat av Simon den 25 Juni, 2010 kl 12:00:25.


Svar på inlägget:
  • Re: Editerbar text nilla 13:38:31 06/25/10 (3)
    • Re: Editerbar text Simon 18:06:48 06/25/10 (2)
      • Re: Editerbar text nilla 18:29:12 06/25/10 (1)
        • Re: Editerbar text Simon 18:38:17 06/25/10 (0)


Posta ett svar:

Namn:
E-Mail:
Rubrik:
Meddelande:
Ja tack, maila mig om andra svarar på detta inlägg.
Ja tack, maila mig om andra svarar på mitt inlägg.


[ JavaScript.nu's Forum ] [ Viktigt om forumet ] [ JavaScript.nu's Startsida ]






Copyright © Omid Rouhani 1997-2022; Alla rättigheter reserverade.
Guider: [ HTML guide ] - [ JavaScript guide ] - [ DHTML guide ] - [ Perl guide ] - [ Sitemap ]