TulorkMedlem sedan aug. 2004903 inlägg Är på jakt efter ett litet javascript som kan med hjälp av två vanliga <a href""> länkar öka och minska en siffra i ett fält. Samtidigt som denna siffran ökar eller minska, ska också en annan variabel öka och minska.
Exempel
statisk variabel = 100
Trycker på öka knappen: 1gång
statisk variabel = 99
trycker på minska länken: 1gång
statisk variabel = 100
Den statiska variablen får aldrig gå över 100 eller under 0
Den totala summan i fälten får aldrig överstiga den statiska variablens värde, eller understiga.
Alltså... man har 100p och ska fördella dessa mellan..låt oss säga 5 fält. Lätt att lösa? Borde inte vara så krångligt tycker jag..men hittar inget exempel att utgå ifrån så att jag själv kan bygga vidare.
stattinMedlem sedan jan. 2005713 inlägg red/ Att jag inte lär mig läsa klart frågan..
Det finns kanske smidigare sätt att lösa det på?
<a href="javascript:plus()">Öka</a>
<a href="javascript:minus()">Minska</a>
<a href="javascript:dela()">dela</a>
<form name="falt">
<input type="text" name="ett">
<input type="text" name="tva">
<input type="text" name="tre">
<input type="text" name="fyr">
<input type="text" name="fem">
</form>
<script type="text/javascript">
nr = "100"
function plus() {
nr++
if(nr > "100"){ nr = "100"; }
alert(nr)
}
function minus() {
nr = nr-1
if(nr < "0"){ nr = "0"; }
alert(nr)
}
function dela() {
delad = nr/5
document.falt.ett.value = delad
document.falt.tva.value = delad
document.falt.tre.value = delad
document.falt.fyr.value = delad
document.falt.fem.value = delad
}
</script>
stattinMedlem sedan jan. 2005713 inlägg om du vill kan du ju runda av talen i fälten med Math.round()
TulorkMedlem sedan aug. 2004903 inlägg Tack för det. Jag har nu en grund att bygga vidare på :)
yadorMedlem sedan mars 2004455 inlägg Detta är en bättre version av stattin:s kod om du vill ha den
<script type="text/javascript">
nr = 100;
function plus() {
if(nr < 100)
nr++;
}
function minus() {
if(nr > 0)
nr--;
}
function dela() {
for(a=0,elm=document.falt.getElementsByTagName("input");a<elm.length;a++)
elm[a].value = nr/elm.length;
}
</script>
stattinMedlem sedan jan. 2005713 inlägg ja eller så gör man så här:
<form name="falt">
<input type="text" name="ett">
<input type="text" name="tva">
<input type="text" name="tre">
<input type="text" name="fyr">
<input type="text" name="fem">
</form>
<script type="text/javascript">
nr = 100;
function dela() {
for(a=0,elm=document.falt.getElementsByTagName("input");a<elm.length;a++)
elm[a].value = nr/elm.length;
}
</script>
<a href="#" onclick="if(nr < 100); nr++; return false;">Öka</a>
<a href="#" onclick="if(nr > 0); nr--; return false;">Minska</a>
<a href="javascript:dela()">dela</a>
Vad bra nu fick jag lära mig att man kan skriva ex. nr-- också. :bire
yadorMedlem sedan mars 2004455 inlägg Men det är ingen förbättring. Koden kommer dessutom inte att fungera korrekt pga att du stänger if satsen innan du ökar/minskar värdet i nr.