verander var onmouseover

Status
Niet open voor verdere reacties.

Stefanos1990

Gebruiker
Lid geworden
26 jul 2007
Berichten
61
hey mensen,

iets heel simpels:
als je met de muis over iets heen gaat moet een var veranderen, niet lastig dacht ik.
maar het werkt niet, om de een of andere rede, terwijl het volgens mij helemaal klopt.

Code:
<html>
<head>
</head>
<body>

<script type="text/javascript">
personen = 1;
</script>

<a href="#" onmouseover="personen=2;">verander</a>

<script type="text/javascript">
document.write (personen)
</script>

</body>
</html>
als het goed is zou de 1 in een 2 moeten veranderen, maar dat gebeurt niet...
iemand enig idee waarom niet?
 
Dit werkt beter:

PHP:
<html>
<head>
</head>
<body>

<script type="text/javascript">
personen = 1;
</script>
<a href="#" onmouseover="persona();">personen =1 </a>
<script type="text/javascript">
function persona() {
personen+=1;
document.write('personen = ' + personen);
}
</script>

</body>
</html>
 
Bedankt!
In IE werkt dit inderdaad, in firefox niet zo goed.
en als het in firefox niet werkt is het geen optie.

bovendien kan ik met dat script niet meer wat met mijn script in theorie wel zou moeten kunnen:
Code:
<script type="text/javascript">
personen = 1;
</script>

<a href="#" onmouseover="personen=2;">verander aantal personen naar 2</a>
<a href="#" onmouseover="personen=20;">verander aantal personen naar 20</a>
<a href="#" onmouseover="personen=300;">verander aantal personen naar 300</a>

Dus mijn vraag is nog een keer, wat klopt hier niet?
 
Dan laat je toch 'personen' met een variabel aantal ophogen? Die variabele is het aantal waarover men met de muis gaat, in dat geval.
 
Deze werkt met Opera, dus zou in FF ook moeten werken.

PHP:
<html>
 <head>
  <title>play</title>
   <script language="javascript">
var lastMouseOverCell;
var cellTxtArray = ['1 personen','2 personen','20 personen','300 personen']

function changeCellContents(cell,evt) {
var e = evt || window.event;
if (cell.nodeName == 'TABLE' && e.type == 'mouseover') {
if (e.stopPropagation) e.stopPropagation();
e.cancelBubble = true;
return;
}

if (lastMouseOverCell)
restore(lastMouseOverCell);
if(cell.nodeName.toLowerCase() == 'td') {
lastMouseOverCell = cell;
insertImage(cell);
} else {
lastMouseOverCell = '';
}

if (e.stopPropagation) e.stopPropagation();
e.cancelBubble = true;
}

function delContents(x) {
if(x.firstChild) {
while (x.firstChild) {
x.removeChild(x.firstChild);
}
} else if (x.innerHTML) {
x.innerHTML = '';
}
}

function restore(x) {
delContents(x);
if (x.appendChild) {
oTxt = document.createTextNode(cellTxtArray[x.id]);
x.appendChild(oTxt);
} else if (x.innerHTML) {
x.innerHTML = cellTxtArray[x.id];
}
}

function insertImage(x) {
delContents(x)
if (x.appendChild) {
var oImg = document.createElement('img');
oImg.src = cellImgArray[x.id];
x.appendChild(oImg);
} else if (x.innerHTML) {
x.innerHTML = '<img src="'+cellTxtArray[x.id]+'">';
}
}
   </script>

 </head>
 <body>
  <table bordercolor="White" border="0"
cellspacing="1" width="100%">
   <tr>
    <td Class="col1" id="0" onmouseover="
changeCellContents(this,event);
">cell 1
    </td>
    <td Class="col1" id="1" onmouseover="
changeCellContents(this,event);
">cell 2
    </td>
    <td Class="col1" id="2" onmouseover="
changeCellContents(this,event);
">cell 1
    </td>
    <td Class="col1" id="3" onmouseover="
changeCellContents(this,event);
">cell 2
    </td>
   </tr>
  </table>
 </body>
</html>

Hoplijk kun je hem naar wens aanpassen.
 
als het goed is zou de 1 in een 2 moeten veranderen, maar dat gebeurt niet...
iemand enig idee waarom niet?
Je gebruikte document.write() in het script, daar kun je wel een pagina mee opbouwen maar niet mee aanpassen. :)

Met een iets kleiner script:
PHP:
<script type="text/javascript">
 var personen = 1;
 function persons(n) {
  personen = n;
  document.getElementById('aantal').innerHTML = n;
  };
</script>

<a href="#" onclick="return false" onmouseover="persons(2)">verander aantal personen naar 2</a><br>
<a href="#" onclick="return false" onmouseover="persons(20)">verander aantal personen naar 20</a><br>
<a href="#" onclick="return false" onmouseover="persons(300)">verander aantal personen naar 300</a><br>
<br>
Aantal personen: <span id="aantal">1</span><br>
:)


Vr.Gr. Egel.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan