这个问题继续我现有的thread。
下面给出的是代码部分。 Table列标记中嵌入了一个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>
答案 0 :(得分: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(...)。
答案 1 :(得分:1)
编写一个JavaScript函数,可以找到页面上的所有td
元素。现在,您需要一个“现在调用fadeshow”的活动。这通常是onClick事件。所以在你的函数中,对于每个td
元素,注册一个调用fadeshow的新函数:
td.onclick = function() { fadeshow(this, ...) };
执行this
时, td
将包含fadeshow
元素。
答案 2 :(得分:0)
我认为脚本会将一些HTML写入表格单元格。如果是这样,我希望它在内部使用document.write命令。如果是这种情况,以任何有意义的方式移动它可能会涉及重构脚本。因此,如果你不知道足够的JS来尝试,我会把它留在原处。世界上有比这更糟糕的悲剧。