2010-01-15 4 views
0

Cette question est en continuité avec mon thread existant.Suppression d'un code javascript à partir d'une colonne de table

Vous trouverez ci-dessous une section de code. Il y a un code javascript incorporé dans un tag de colonne Table. Je veux me débarrasser de l'étiquette de script. Quel peut être l'autre façon d'appeler cette fonction javascript qui réside dans un fichier .js distinct.

<tr> 
     <td width="599" height="154" valign="top"> 

      <script type="text/javascript"> 
       //new fadeshow(IMAGES_ARRAY_NAME, slideshow_width, slideshow_height, borderwidth, delay, pause (0=no, 1=yes), optionalRandomOrder) 
      new fadeshow(fadeimages, 593, 163, 0, 3000, 1, "R") 
       //new fadeshow(fadeimages2, 163, 225, 0, 3000, 0)/ 
      </script> 

     </td> 
    </tr> 

Répondre

1

Ecrire une fonction JavaScript qui peut trouver l'ensemble des éléments td sur la page. Maintenant, vous avez besoin d'un événement qui dit "appel fadeshow maintenant". C'est généralement l'événement onClick. Donc, dans votre fonction, pour chaque élément td, enregistrer une nouvelle fonction qui appelle fadeshow:

td.onclick = function() { fadeshow(this, ...) }; 

this contiendra l'élément td lorsque fadeshow est exécuté.

2

Vous souhaitez probablement refactoriser fadeshow pour qu'il se rende dans un élément spécifique. Puis donnez un ID à votre TD (...) et appelez votre fonction dans la page HTML après avoir fermé la balise contenant le TD (v1) respectif ou dans le code d'initialisation global que vous pouvez accrocher sur onload (v2).

Vous devrez peut-être spécifier une hauteur et une largeur pour le TD via CSS afin d'éviter un effet de déplacement.

v1 ressembleraient:

... 
</table> 
<script type="..."> 
    new fadeshow(fadeimages, 593, 163, 0, 3000, 1, "R", 
     document.getElementById('fadeshow-goes-here')); 
</script> 

v2 ressemblerait à ceci:

<body onload="applicationInit()"> 
... 

(et que vous appelleriez fadeshow (...) à l'intérieur applicationInit).

0

Je présume que le script écrit du code HTML dans la cellule du tableau. Si c'est le cas, je suppose qu'il utilise une commande document.write en interne. Et si c'est le cas, le déplacer de manière significative impliquera probablement de refactoriser le script. Donc, si vous ne connaissez pas assez JS pour tenter cela, je le laisserais juste où il est. Il y a pire travestissements que cela dans le monde.

Questions connexes