Computergenie.nl    

Computergenie.nl
  Registreer!
  Registreer
Homepage
Home
Top 10
Top 10
Forum
Forum
Prijsindex
Prijsindex
Nieuws
Nieuws
Downloads
Downloads
Hulp & Uitleg
Hulp & Uitleg
Uitgebreid zoeken
 
  Zoeken •  Gebruikerslijst  •  Gebruikersgroepen   •  Registreer  •  Profiel  •  Log in om je privé berichten te bekijken  •  Ben je al lid?  Log in! 
Ben je al lid?  Log in!
Kies uw onderwerp:
Computer-Café
Knowledge Base
Hardware
Software
Internet & netwerken
Games
Scripten & programmeren
Digitale fotografie & video
Multimedia
GSM & mobile
Sitecheck & links
Officiële mededelingen
Feedback
ISL Light
Aanbiedingen
Markt-plaats
Hulp & Uitleg

Sponsors:

Cloud VPS

Relaties:

PC Beveiliger
Forum » Scripten & programmeren » script werkt niet
[JAVASCRIPT]  script werkt niet

Nieuw onderwerpNieuw antwoord
hocus-pocus Bericht Geplaatst op 22-09-2010 Reageer met quote
Gevorderd lid
hallo,

heeft iemand enig idee waarom dit script het niet doet?
Waar zit de fout???
(website is niet online)
Waar het om gaat is het script om de linkplaatjes te laten veranderen bij mouseover.Zie html hier:

Code:

<html>
<head>
<meta name="description" content="Abstracte moderne kunst van Paul Smeets - Abstract contemporary art from Dutch artist Paul Smeets">
<meta name="keywords" content="abstract, kunst, contemporary art, abstract artist, Limburgse kunstenaar, foto's, Paul Smeets, schilderkunst, Elsloo, kunstenaar, modern art, schilderijen">
<meta name="author" content="metatags generator">
<meta name="robots" content="index, follow">
<meta name="revisit-after" content="2 month">
<title>Paul Smeets abstracte kunst</title>

<meta http-equiv="imagetoolbar" content="no" />


[b]<script language="Javascript">

<!--
if (document.images)
{
//plaatje 1
image1 = new Image
image2 = new Image[/b]
image1.src = 'canvas.jpg'
image2.src = 'canvas2.jpg'

//plaatje 2
image3 = new Image
image4 = new Image
image3.src = 'papier.jpg'
image4.src = 'papier2.jpg'

//plaatje 3
image5 = new Image
image6 = new Image
image5.src = 'info.jpg'
image6.src = 'info2.jpg'

//plaatje 4
image7 = new Image
image8 = new Image
image7.src = 'kontakt.jpg'
image8.src = 'kontakt2.jpg'


}
-->


</script>


</head>
<body background="achtergrond.jpg" bgproperties="fixed">
<br>
<center>
<table border="0" width=90%>
<tr height="60">
<td width="330" align="center" valign="top"><img src="titel.gif" height="60" width="330" border="0">
<div align="left"><font color="ffffff" size="-2">&nbsp;&nbsp;&nbsp;&nbsp;&copy;ppmsmeets2010</font></div></td>
<td width="330" align="center" valign="top">
<img src="titel2.gif" height="60" width="330" border="0">
<br>
<br>
<br>
<br>
<br>
<a href="http://www.paulsmeets.com/canvas.html/" onMouseOver="document.mouseover.src=image2.src" onMouseOut="document.mouseover.src=image1.src"><img src="canvas.jpg" height="40" width="220" border="0" name="mouseover"></a><br>
<br>
<a href="http://www.paulsmeets.com/papier.html/" onMouseOver="document.mouseover.src=image4.src" onMouseOut="document.mouseover.src=image3.src"><img src="papier.jpg" height="40" width="220" border="0" name="mouseover"></a><br>
<br>
<a href="http://www.paulsmeets.com/info.html/" onMouseOver="document.mouseover.src=image6.src" onMouseOut="document.mouseover.src=image5.src"><img src="info.jpg" height="40" width="220" border="0" name="mouseover"></a><br>
<br>
<a href="http://www.paulsmeets.com/kontakt.html/" onMouseOver="document.mouseover.src=image8.src" onMouseOut="document.mouseover.src=image7.src"><img src="kontakt.jpg" height="40" width="220" border="0" name="mouseover"></a><br>
</td>
<td height="490" align="center"><img src="kunstwerk.jpg" height="490" width="360" border="0"></td>
</tr>
</table>
</center>
</body>
</html>




"...en hij kauwde op de taaie groezelige brij die leven heet.."
renevanh Bericht Geplaatst op 22-09-2010 Reageer met quote
Beheerder
Je zit een soort van Java of C te programmeren in Javascript, zo lijkt het wel ;)

Wat je nu doet is eerst een variabele defineren als Image (image1 = new Image). Dat hoeft niet in Javascript.
Ik zou het zo doen:
Code:

base = document.mouseover.src;
image1 = 'canvas.jpg';
image2 = 'canvas2.jpg';

<a href="http://www.paulsmeets.com/canvas.html" onMouseOver = base + image1 onMouseOut = base + image2><img src="papier.jpg" height="40" width="220" border="0" name="mouseover"></a><br>


Let ook op de ; achter elke regel.

Overigens: al je img tags 'mouseover' noemen gaat ook niet werken, die zul je uniek moeten maken wil je overal een andere image zien verschijnen.

Het idee met 'base' doe ik zo, omdat 2x een = in een regel onoverzichtelijk is en mogelijk ook niet werkt.




Keyboard not found, press F1 to continue...
hocus-pocus Bericht Geplaatst op 22-09-2010 Reageer met quote
Gevorderd lid
dank voor de reaktie!

resteren nog 2 vragen:

1) moet het bovenste stukje in de head en hoeft daar dan het woord script bij enzo?

2)is plaatje 3 en 4 gewoon aan te sluiten op de vorige in het rijtje?




"...en hij kauwde op de taaie groezelige brij die leven heet.."
renevanh Bericht Geplaatst op 22-09-2010 Reageer met quote
Beheerder
Je moet altijd, wanneer je Javascript in de head zet, aangeven dat het om Javascript gaat, dus altijd openen en sluiten:

Code:

<script type="text/javascript">
//hier dan je script
</script>




Keyboard not found, press F1 to continue...
hocus-pocus Bericht Geplaatst op 22-09-2010 Reageer met quote
Gevorderd lid
Dus het wordt:

Code:

<script type="text/javascript">
base = document.mouseover.src;
image1 = 'canvas.jpg';
image2 = 'canvas2.jpg';
</script>


<a href="http://www.paulsmeets.com/canvas.html" onMouseOver = base + image1 onMouseOut = base + image2><img src="papier.jpg" height="40" width="220" border="0" name="mouseover"></a><br>



Klopt dat?



[/code]




"...en hij kauwde op de taaie groezelige brij die leven heet.."
renevanh Bericht Geplaatst op 22-09-2010 Reageer met quote
Beheerder
Yup, voor de canvas.
Uiteraard moet je voor de anderen hetzelfde doen, maar dan met een andere naam/id voor de img.
Denk eraan dat de base dan ook anders wordt EN dat je de variabele base niet nog eens kan gebruiken!




Keyboard not found, press F1 to continue...
hocus-pocus Bericht Geplaatst op 22-09-2010 Reageer met quote
Gevorderd lid
Kan aan mij liggen (vast wel)...maar ik snap er niks meer van.

Waarin verandert die base dan?




"...en hij kauwde op de taaie groezelige brij die leven heet.."
renevanh Bericht Geplaatst op 22-09-2010 Reageer met quote
Beheerder
In het originele script hebben we 4 plaatjes die moeten veranderen.
De variabele base die in mijn voorbeeld staat, is die voor de <img> met de naam 'mouseover'.

De tweede zul je een andere naam moeten geven, bijvoorbeeld 'mouseover2' . De variabele wordt dan bijvoorbeeld base2.
Je krijgt dan base2 = document.mouseover2.src

Etc voor de andere afbeeldingen.

Omdat je een script hebt wat zich niet in een vaste volgorde voordoet kun je je variabelen niet hergebruiken.




Keyboard not found, press F1 to continue...
hocus-pocus Bericht Geplaatst op 23-09-2010 Reageer met quote
Gevorderd lid
hartelijk dank, het is voor de bakker!



"...en hij kauwde op de taaie groezelige brij die leven heet.."
vosManz Bericht Geplaatst op 23-09-2010 Reageer met quote
Technische man
Graag nog even een paar opmerkingen hierover. Het script kan zo misschien wel werken, maar helemaal correct is het niet :P


  • 'image1 = new Image' moet 'var image1 = new Image();' zijn
  • in de nieuwe versies van (X)HTML moeten alle tags afgesloten worden. <br> en <img ...> worden dan dus <br /> en <img ... />
  • in de nieuwe versies van (X)HTML moeten alle attributen met kleine letters geschreven worden. onMouseOver wordt dus onmouseover.
  • in de nieuwe versies van (X)HTML moet alle inhoud van een attribuut omgeven worden door aanhaleingstekens. Dus niet:
    Code:
    <a href="http://www.paulsmeets.com/canvas.html" onmouseover=base + image1 onmouseout=base + image2><img src="papier.jpg" height="40" width="220" border="0" name="mouseover" /></a>

    maar:
    Code:
    <a href="http://www.paulsmeets.com/canvas.html" onmouseover="base + image1;" onmouseout="base + image2;"><img src="papier.jpg" height="40" width="220" border="0" name="mouseover" /></a>

  • Het gebruik maken van 'var image1 = new Image();' is inderdaad niet noodzakelijk in JavaScript, maar als je dit toch doet werkt het als een 'preloader'. Je afbeeldingen worden dus vooraf geladen, en daardoor zal je mouseover soepeler gaan. De afbeelding hoeft immers niet meer gedownload te worden.
  • Een ; achter een regel is in JavaScript niet verplicht, maar wel aan te raden. Als je meerdere commando's op één regel hebt is het wel verplicht, om zo de commando's te scheiden.
  • Als je de onmouseover en onmouseout niet op de link (<a>) maar op de afbeelding zet, kun je gebruik maken van 'this' om de afbeelding waar je op dat moment overheen gaat aan te spreken. Je hebt dan geen name attribuut, en extra script nodig. Scheelt een stuk code, en makkelijker om later nog dingen bij te maken. Dus niet:
    Code:
    <a href="http://www.paulsmeets.com/canvas.html/" onmouseover="document.mouseover.src=image2.src" onmouseout="document.mouseover.src=image1.src"><img src="canvas.jpg" height="40" width="220" border="0" name="mouseover"></a>

    maar:
    Code:
    <a href="http://www.paulsmeets.com/canvas.html/"><img src="canvas.jpg" height="40" width="220" border="0" onmouseover="this.src=image2.src" onmouseout="this.src=image1.src" /></a>



Alles bij elkaar zal de code dan zoiets worden:
Code:
<html>
   <head>
      <meta name="description" content="Abstracte moderne kunst van Paul Smeets - Abstract contemporary art from Dutch artist Paul Smeets" />
      <meta name="keywords" content="abstract, kunst, contemporary art, abstract artist, Limburgse kunstenaar, foto's, Paul Smeets, schilderkunst, Elsloo, kunstenaar, modern art, schilderijen" />
      <meta name="author" content="metatags generator" />
      <meta name="robots" content="index, follow" />
      <meta name="revisit-after" content="2 month" />
      <title>Paul Smeets abstracte kunst</title>
      <meta http-equiv="imagetoolbar" content="no" />
      <script type="text/javascript">
         //plaatje 1
         var image1 = new Image();
         var image2 = new Image();
         image1.src = 'canvas.jpg';
         image2.src = 'canvas2.jpg';

         //plaatje 2
         var image3 = new Image();
         var image4 = new Image();
         image3.src = 'papier.jpg';
         image4.src = 'papier2.jpg';

         //plaatje 3
         var image5 = new Image();
         var image6 = new Image();
         image5.src = 'info.jpg';
         image6.src = 'info2.jpg';

         //plaatje 4
         var image7 = new Image();
         var image8 = new Image();
         image7.src = 'kontakt.jpg';
         image8.src = 'kontakt2.jpg';
      </script>
   </head>

   <body background="achtergrond.jpg" bgproperties="fixed">
      <br />
      <center>
         <table border="0" width="90%">
            <tr height="60">
               <td width="330" align="center" valign="top">
                  <img src="titel.gif" height="60" width="330" border="0" />
                  <div align="left"><font color="ffffff" size="-2">&nbsp;&nbsp;&nbsp;&nbsp;&copy;ppmsmeets2010</font></div>
               </td>
               <td width="330" align="center" valign="top">
                  <img src="titel2.gif" height="60" width="330" border="0" />
                  <br />
                  <br />
                  <br />
                  <br />
                  <br />
                  <a href="http://www.paulsmeets.com/canvas.html/"><img src="canvas.jpg" height="40" width="220" border="0" onmouseover="this.src=image2.src" onmouseout="this.src=image1.src" /></a><br />
                  <br />
                  <a href="http://www.paulsmeets.com/papier.html/"><img src="papier.jpg" height="40" width="220" border="0" onmouseover="this.src=image4.src" onmouseout="this.src=image3.src" ></a><br />
                  <br>
                  <a href="http://www.paulsmeets.com/info.html/"><img src="info.jpg" height="40" width="220" border="0" onmouseover="this.src=image6.src" onmouseout="this.src=image5.src" /></a><br />
                  <br>
                  <a href="http://www.paulsmeets.com/kontakt.html/"><img src="kontakt.jpg" height="40" width="220" border="0" onmouseover="this.src=image8.src" onmouseout="this.src=image7.src" /></a><br />
               </td>
               <td height="490" align="center"><img src="kunstwerk.jpg" height="490" width="360" border="0" /></td>
            </tr>
         </table>
      </center>
   </body>
</html>


Code is niet getest, dus typefouten voorbehouden :P

Hopelijk heb je er wat aan! :)




::: vosManz :::
Nieuw onderwerpNieuw antwoord   


Forum » Scripten & programmeren » script werkt niet

Powered by Cloud VPS - High Availability Cloud Servers