收录日期:2018/10/23 13:47:44 时间:2016/05/22 09:12:19 标签:JavaScript
函数如下:
这是一个随机显示广告的函数,里面的ADList_0.是变量名字(不同类型广告变量不同),问题就在这里,由于广告的输出方式都是一样的,但是变量名不同,有很多广告要显示,如果为每个广告单独做一个函数,好像有些傻,不知道有什么办法在变量通过选值传送到函数里?我初学JAVASCRIPT,很多不懂,望各位高手赐教.

function AD_TopBanner(){
var thisads = ADList_0.ADType.length;
var now = new Date()
var sec = now.getSeconds()
var k = sec % thisads;
switch(ADList_0.ADMode[k]){
case "1":
document.write('<a href=\"' + ADList_0.ADUrl[k] + '\" target=\"_blank\">');
document.write('<img src=\"' + ADList_0.ADCode[k] + '\" width=')
document.write(ADList_0.ADWidth[k] + ' height=' + ADList_0.ADHeight[k] + ' ');
document.write('alt=\"' + ADList_0.ADText[k] + '\" border=0 valign=\"absmiddle\"></a>');
break;
case "2":
document.write('<OBJECT codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 width=\"'+ADList_0.ADWidth[k]+'"\" height=\"'+ADList_0.ADHeight[k]+'\"><PARAM NAME=movie VALUE=\"'+ADList_0.ADCode[k]+'\"><PARAM NAME=quality VALUE=high><embed src=\"'+ADList_0.ADCode[k]+'\" quality=high pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\" type=\"application/x-shockwave-flash\" width=\"'+ADList_0.ADWidth[k]+'\" height=\"'+ADList_0.ADHeight[k]+'\">'+ADList_0.ADCode[k]+'</embed></OBJECT>');
break;
case "3":
document.write(ADList_0.ADCode[k]);
break;
}
}
var arrAdType = {"ad0","ad1","ad2",.....}
for(i=0;i<arrAdType.length;i++)
   var thisads = ADList_0[arrAdType[i]]length;


可以用window["函数名字符串"]来取函数
如window["alert"]("It is ok!!!!");

具体你自己设计吧
又如:
<script>
function foo(){
alert("It is ok");
}
window["foo"]();
</script>
嗯,你的方法可以,我自己要睡觉的时候也找到方法了,呵呵,每次睡觉的时候头脑特别清晰 :)

代码如下:
function AD_TopBanner(ADList){
var thisads = ADList.ADType.length;
var now = new Date()
var sec = now.getSeconds()
var k = sec % thisads;
switch(ADList.ADMode[k]){
case "1":
document.write('<a href=\"' + ADList.ADUrl[k] + '\" target=\"_blank\">');
document.write('<img src=\"' + ADList.ADCode[k] + '\" width=')
document.write(ADList.ADWidth[k] + ' height=' + ADList.ADHeight[k] + ' ');
document.write('alt=\"' + ADList.ADText[k] + '\" border=0 valign=\"absmiddle\"></a>');
break;
case "2":
document.write('<OBJECT codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 width=\"'+ADList.ADWidth[k]+'"\" height=\"'+ADList.ADHeight[k]+'\"><PARAM NAME=movie VALUE=\"'+ADList.ADCode[k]+'\"><PARAM NAME=quality VALUE=high><embed src=\"'+ADList.ADCode[k]+'\" quality=high pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\" type=\"application/x-shockwave-flash\" width=\"'+ADList.ADWidth[k]+'\" height=\"'+ADList.ADHeight[k]+'\">'+ADList.ADCode[k]+'</embed></OBJECT>');
break;
case "3":
document.write(ADList.ADCode[k]);
break;
}
}

请问XP Professional有没有办法作无盘网络的服务器 一个超级难度的算法,解决高分相送 VC中可以选择Release来去除调试信息,Delphi中用什么办法使程序变小? 以前考SCJP的都做104题和147题,那现在考的我要做什么题啊? win2000没有声音,有驱动,在linux中有声音? 在线急等,各位高手的指点! 关于使用JSTL的问题? 请教极easy的字符串格式化问题? 请各位高手帮帮忙!!一个关于图片和文本信息写入数据库的问题!十分的急.在线等!!! 有关字符串转换为日期类型的问题~!救急阿!!!! 怎么用php实现server push? 简单问题 [sql-DMO]大容量复制执行失败 如何把Excel文件导入到以\"|\"为分隔符的文本文件中..... 放dll的问题! 用什么函数可以在其它程序的输入面板中输入字符? 请教关于dts问题 数据库查询时,如果表内有a1,a2,a3...到a12的字段,在查询时我可不可以写成\"select a1~a12 \"? linux下ORACLE的问题,帮忙啊!!! window.alert 如何在确定以后,转向另外一个页面呢?不要使用定义函数 网页中单击一个图标链接,即弹出下载对话框!如何实现!! 关于表单提交的问题 试用了一下 Eclipse + pydev ,感觉不错 在sybase adaptive server enterprise中,我的一个字段大概有500多个字符,我不想用text类型。 treeView控件中,选中某个字结点,如何让其父结点也被选中???急急。。。。 JTable中的某一列如何加入按钮啊? 一个问题,救急!!!谢谢大家了。 菜鸟提问:如何实现整个页面的居中 请问如何建java的string转化为vc中的字符串? 请问如何建java的string转化为vc中的字符串?