2010-01-15 76 views
0

这个问题是对我现有的thread的延续。删除表格列中的javascript代码

下面给出的是代码段。表格列标签内嵌有JavaScript代码。我想摆脱脚本标记。什么可以是另一种方式调用驻留在单独的.js文件中的JavaScript函数。

<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> 

回答

1

编写一个JavaScript函数,它可以在页面上找到所有td元素。现在,您需要一个说“现在调用fadeshow”的事件。这通常是onClick事件。因此,在你的函数,每个td元素,注册一个新的函数,它们调用fadeshow:当执行fadeshow

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

this将包含td元素。

2

您可能想要重构fadeshow以将其自身呈现在特定元素中。然后给你的TD(...)一个ID,并且在你关闭了包含相应TD(v1)的标签或者你可以挂载onload(v2)的全局初始化代码后,在HTML页面中调用你的函数。

您可能需要通过CSS为TD指定高度和宽度以避免移动效果。

V1看起来像:

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

V2看起来像:

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

(你会从内部applicationInit调用fadeshow(...))。

0

我认为脚本将一些HTML写入表格单元格。如果是这样,我期望它在内部使用document.write命令。如果是这样的话,以任何有意义的方式移动它可能会涉及重构脚本。所以如果你不知道足够的JS来尝试这些,我会把它留在原地。世界上有比这更糟糕的幻想。