js函数的参数怎么写
function GradientShow()
{
LayerMenu.filters.alpha.opacity+=intInterval;
if (LayerMenu.filters.alpha.opacity<100) setTimeout("GradientShow()",intDelay);
}
这是一个js函数
我想把元素LayerMenu作为参数传进来
就是说
里面的那个LayerMenu写死了,我想改成参数
问题点数:50、回复次数:11Top
1 楼guhuili(泡泡)回复于 2005-08-04 16:46:40 得分 5
function GradientShow(LayerMenu)
{
LayerMenu.filters.alpha.opacity+=intInterval;
if (LayerMenu.filters.alpha.opacity<100) setTimeout("GradientShow()",intDelay);
} 就可以了吧Top
2 楼mapserver(杨东 http://mapserver.cnblogs.com)回复于 2005-08-04 16:50:24 得分 5
楼上正解。Top
3 楼lindping(罗将神)回复于 2005-08-04 17:13:01 得分 0
不 没有这么简单, 大家看清楚了,这里有个递归调用setTimeout("GradientShow()")
我用了setTimeout("GradientShow(LayerMenu)") 和
setTimeout("GradientShow("+LayerMenu+")") 两种办法都不行!Top
4 楼lindping(罗将神)回复于 2005-08-04 18:46:00 得分 0
upTop
5 楼sugarsupper(智慧之刃)回复于 2005-08-04 19:50:31 得分 10
<img id="LayerMenu" src="mmd3.gif" style="filter:alpha(opacity=0)">
<script>
var inteval = 0;
function GradientShow(objId)
{
inteval =inteval + 2;
o=document.all[objId];
o.style.filter="alpha(opacity="+inteval+")";
setTimeout("GradientShow('LayerMenu')",400);
}
GradientShow('LayerMenu') ;
</script>Top
6 楼huis(暂住制度在中国害苦人啊)回复于 2005-08-04 20:00:03 得分 5
学习啊Top
7 楼lindping(罗将神)回复于 2005-08-05 10:12:19 得分 0
谢谢 sugarsupper(北欧神话) 可是接下来还有一个问题,相信大家都看出这是个生成一个菜单(带淡入淡出效果)的java脚本,我想把她做成用户控件,可是不知道为什么应用页面没能显示出来,我猜想可能是应用页面初始化的时候的执行循序有关系,控件 全部的html代码如下:
<STYLE>.menutableT {
BORDER-RIGHT: #307ce8 1px solid; BORDER-TOP: #94bcf3 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #307ce8 5px solid;
BORDER-BOTTOM: #307ce8 1px solid; BACKGROUND-COLOR: #ffffff
}
.menutable {
BORDER-RIGHT: #307ce8 1px solid; BORDER-TOP: #94bcf3 1px solid; FONT-SIZE: 12px; Z-INDEX: 100; BORDER-LEFT: #307ce8
5px solid; BORDER-BOTTOM: #307ce8 1px solid; POSITION: absolute; BACKGROUND-COLOR: #ffffff
}
.menutrin {
CURSOR: hand; COLOR: #ffffff; BACKGROUND-COLOR: #1a71e6
}
.menutrout {
CURSOR: hand; COLOR: #000000
}
.menutd0 {
WIDTH: 28px; HEIGHT: 25px; TEXT-ALIGN: center; 改变这个修改菜单高度---:
}
.menutd1 {
WIDTH: 50px; FONT-FAMILY: Webdings; TEXT-ALIGN: right
}
.linktd1 {
WIDTH: 46px
}
.menutd2 {
WIDTH: 4px
}
.menuhr {
BORDER-RIGHT: #307ce8 1px inset; BORDER-TOP: #307ce8 1px inset; BORDER-LEFT: #307ce8 1px inset; BORDER-BOTTOM:
#307ce8 1px inset
}
.indentWord {
PADDING-LEFT: 2px
}
</STYLE>
<BGSOUND id=theBS src="" loop=0>
<SCRIPT>
/*--------------------------------------------
管理样式多级菜单 1.0 制作 Stroll
.....................
if(topobj.oldTR)
{
eval(topobj.oldTR+'.className = "menutrout"');
}
obj.className = "menutrin";
topobj.oldTR = obj.id;
}
}
}
var TM = new TopMenu("TM")
TM.addTopLink("网页天使",1,"javascript:alert('为你献上最好的javascript脚本')")
TM.addTopMenu("下拉菜单1",1)
TM[1].addLink("hello",0,"javascript:alert();")
TM[1].addLink("hello",0,"javascript:;")
TM[1].addMenu("hello")
TM[1][2].addLink("hello",0,"javascript:;")
TM[1][2].addLink("hello",0,"javascript:;")
TM[1][2].addLink("hello",0,"javascript:;")
TM[1][2].addLink("hello",0,"javascript:;")
TM[1].addLink("hello",0,"javascript:;")
TM[1].addHR()
TM[1].addMenu("hello")
TM[1][4].addLink("hello",0,"javascript:;")
TM[1][4].addLink("hello",0,"javascript:;")
TM[1][4].addLink("hello",0,"javascript:;")
TM[1][4].addLink("hello",0,"javascript:;")
TM.addTopLink("链接",0,"javascript:alert()")
TM.addTopMenu("下拉菜单2")
TM[3].addLink("hello",0,"javascript:alert();")
TM[3].addLink("hello",0,"javascript:;")
TM[3].addLink("hello",0,"javascript:;")
TM[3].addMenu("hello")
TM[3][3].addLink("hello",0,"javascript:;")
TM[3][3].addLink("hello",0,"javascript:;")
TM[3][3].addLink("hello",0,"javascript:;")
TM[3][3].addLink("hello",0,"javascript:alert();")
TM.returnAll("document.body") //生成在 document.body里面
</SCRIPT>
......................
中间还有很多java脚本代码,我省略了,
如果加上<html><body>等的话就可以正常显示出菜单,但删掉html,body等做成用户控件的就没有显示了Top
8 楼lindping(罗将神)回复于 2005-08-05 13:42:37 得分 0
upTop
9 楼flying310(林林)回复于 2005-08-05 14:25:30 得分 10
function GradientShow(LayerMenu)
{
LayerMenu.filters.alpha.opacity+=intInterval;
if (LayerMenu.filters.alpha.opacity<100) setTimeout("GradientShow()",intDelay);
}
直接传控件名称。Top
10 楼adventure007(adventure)回复于 2005-08-05 15:11:36 得分 15
都错了!!
setTimeout在递归调用中不能象普通的递归调用传! 如下解决
<script>
var oObj=null
function Ready(layerMenu)
{
oObj=layerMenu;
setTimeout(GradientShow,intDelay);
}
function GradientShow(ID)
{
if(oObj)
{
}
}Top
11 楼adventure007(adventure)回复于 2005-08-05 15:14:32 得分 0
都错了!!
setTimeout在递归调用中不能象普通的递归调用传! 如下解决
<script>
var oObj=null
function Ready(layerMenu)
{
oObj=layerMenu;
setTimeout(GradientShow,intDelay); //intDelay修改为你自己的参数
}
function GradientShow(sID)
{
if(oObj)
{
oObj.filters.alpha.opacity=100 //此处可修改你自己的参数
}
}Top




