2013-05-26 33 views
-3

在我的index.html文件中,我想三次自动运行js命令,但我希望它位于同一位置(在外部js文件中)进行管理。 JS的是:多次在外部js文件中执行代码

var links = ['http://cur.lv/yz89', 'http://cur.lv/yz8m', 'http://cur.lv/yzgj',]; 
var rnd = Math.floor(Math.random() * links.length); 
document.writeln('<a href="' + links[rnd] + '" onclick="hi()" target="_blank">Link</br></a>*'); 

和主网站,我想这个代码中拼命地跑3次(或更多),所以它看起来是这样的:

My ad 

Link* 

Link* 

Link* 

My ad 

如何做到这一点?

+1

'writeln' with inline'onclick'?我嗅到只有3行的道路上重构... – elclanrs

回答

0

,你可以尝试这样的

var links = ['http://cur.lv/yz89', 'http://cur.lv/yz8m', 'http://cur.lv/yzgj',]; 

for(i=0;i<3;i++) 
{ 
var rnd = Math.floor(Math.random() * links.length); 
    document.writeln('<a href="' + links[rnd] + '" onclick="hi()" target="_blank">Link</a>*</br>'); 
} 
+0

您的代码几乎正确地工作,但在此img 上看到的错误是,链接出现在广告上方,并没有集中... – Svante

+0

发现问题:) – Svante

2

有几种方法。

  1. 您可以只包含脚本文件三次。 (它声明全局变量无关紧要,重新声明符合规范并成为空操作。)

  2. 您可以修改脚本,以便它定义一个执行该工作的函数,包括脚本一次,然后使用内嵌的script元素来调用该函数三次。

  3. 所以它定义了接受一个参数说多少次重复document.write,把一个for环周围的呼叫,然后调用与3功能,您可以修改脚本。

+0

我也想接受你的回答。但我不能 – Svante