rundbergMedlem sedan mars 2007116 inlägg Jag håller på med en skoluppgift och skall göra ett script som frågar efter antal rader, och sen skriver ut dem. Scriptet har jag så att det fungerar, men uppgiften säger att jag skall göra så att varannan rad färgas rosa och varannan ljusgrå, hur fixar jag det?
Mitt script ser ut så här
<html>
<head>
<title>Inlupp_JavaScript_1D</title>
</head>
<body>
<script language="JavaScript" type="text/JavaScript">
var text = prompt("Ange antal rader!","11");
var tal = parseInt(text);
for (var i = 0; i<tal; i++)
{
document.write(i+1 + "<br>");
}
</script>
</body>
</html>
headbugMedlem sedan sep. 2006867 inlägg Du måste ha något på varje rad som du kan sätta färg på. Tex kan det vara en tabell där du skriver ut en tabell-rad för varje i, eller så skriver du ut en <div> och sätter en class varannan gång och en annan de andra gångerna!
rundbergMedlem sedan mars 2007116 inlägg och hur skulle man kunna göra det?, är nybörjare så kan inte så mycket om detta.
spangoMedlem sedan juni 20008 205 inlägg Utdatan vill du ska se ut ungefär så här:
<div style="background-color:lightgrey">Rad 1</div>
<div style="background-color:pink">Rad 2</div>
<div style="background-color:lightgrey">Rad 3</div>
<div style="background-color:pink">Rad 4</div>
... istället för som det är nu, då det blir:
Rad 1<br />
Rad 2<br />
Rad 3<br />
Rad 4<br />
Du måste alltså, i varje varv i loopen, hålla reda på vad den föregående raden hade för färg och sen använda den andra färgen när du skriver ut raden, alt. räkna ut vilken färg du ska använda (utifrån variabeln i) i varje varv i loopen.
rundbergMedlem sedan mars 2007116 inlägg Men om man till'mpar det till det scriptet jag redan har hur blir då?, jag såg nu att jag skulle få det utskrivet i en tabell. Försökte göra två loopar där den ena skriv ut jämna tal och den andra skrev ut ojämna med misslyckades då den inte kunde synka dessa två loopar utan skrev först ut de jämna talen och sedan de ojämna.
Vilket blev fel
headbugMedlem sedan sep. 2006867 inlägg Hehe, ja du, det känns lite dumt att hjälpa till med skoluppgifter, men du ska bara ha en loop. Du får hitta på något smart sätt som klurar ut huruvida du har jämna eller udda tal i loopen. Eller så skapar du en hjälpvariabel som du sätter till grey eller pink och som du kollar, använder och sätter om i varje steg. Det finns säkert fler sätt :) Men endast en loop!
headbugMedlem sedan sep. 2006867 inlägg Annars kan du fråga Rickard, han verkar vara klar med uppgiften, går han i din klass?
rundbergMedlem sedan mars 2007116 inlägg Hmm, nää det gör han inte. Borde jag inte kunna göra så här?
<script language="JavaScript" type="text/JavaScript">
var text = prompt("Ange antal rader!","11");
var tal = parseInt(text);
for (i = 0; i<tal; i++)
if (i%2)
{
document.write('<table border="1"><tr><td>');
document.write(i+1 + "<br>");
document.write('</td></tr></table>');
}
else {
document.write('<table border="1"><tr><td color="yellow">');
document.write(i+1 + "<br>");
document.write('</td></tr></table>');
}
</script>
rundbergMedlem sedan mars 2007116 inlägg för att få olika färg på varannan tabell rad?
Det är "bgcolor" för att sätta färg på en tabellcell...ändrar du det borde det funka.
Själv tycker jag väl att div lösningen är lite snyggare, och det finns ingen anleding att upprepa alla tre rader i båda if delarna.
Finns väl lika många lösningar som utvecklare...men så här skulle jag nog göra:
var text = prompt("Ange antal rader!","11");
var tal = parseInt(text);
var style;
for (var i = 0; i<tal; i++)
{
if(i%2){
style="<div style='background-color:lightblue'>";
} else {
style="<div style='background-color:pink'>";
}
document.write(style + (i+1) + "</div>");
}
spangoMedlem sedan juni 20008 205 inlägg Ett litet tips som är bra när man håller på med javascript som genererar HTML-kod på webbsidor... om man vill veta exakt hur den genererade HTML-koden ser ut, kan man (i Firefox) markera texten och välja "View selection sourde", så ser man det som skrivits ut av t.ex. document.write.
colioneMedlem sedan juni 20014 421 inlägg Jag hade valt att göra såhär:
<script language="javascript" type="text/javascript">
var tal = parseInt(prompt("Ange antal rader!","11"));
var style = "";
for (var i = 0; i<tal; i++)
{
color = (i%2) ? "lightblue":"pink"
style+="<div style='background-color:"+color+"'>"+ (i+1) +"</div>";
}
document.write(style)
</script>
rundbergMedlem sedan mars 2007116 inlägg Tack det funkade. En annan fråga bara!, vilken onClick funktion skall man använda för att sända information som matats in i ett form fält, till en text ruta?
<html>
<head>
<title>Inlupp 2a javascript</title>
</head>
<body>
<script>
var namn
namn = namn
</script>
<form name="namnscript">
<input type="text" value="namn">
<button onClick="document.forms[0].text">Klicka här</button><br>
<textarea name="text" rows="5" cols="20"></textarea>
</form>
</body>
</html>
Jag vill alltså få det namn man skriver i formuläret att visa sig i textrutan nedanför.
colioneMedlem sedan juni 20014 421 inlägg Du kan ju inte be om hjälp med alla skoluppgifter du har. Du måste ju dessutom kounna ta hjälp av din handledare? Du verkar inte ens ha baskunskaper i javascript. Försök lära dig, är det en skoluppgift är ju poängen att du ska LÄRA dig, inte att vi ska göra dem åt dig. läs igenom nedanstående länk: http://www.quirksmode.org/js/forms.html
rundbergMedlem sedan mars 2007116 inlägg Jo jag vet att meningen med skoluppgifter är att jag skall lära mig, och det gör jag då jag på förra frågan fick ett tips, sen satt jag och höll på att klura med det i nån timme.
Jag sitter och studerar i Österrike, min lärare sitter i Stockholm vilket gör att när jag skall fråga henna något (Över mail), så måste hin först och främst vara uppkopplad mot mailklienten vi använder, är hon inte det kan det ta sin lilla tid att få svar. Därför frågar jag här eftersom man brukar få hjälp med att lösa problem man har relativt snabbt.