图层淡入淡出效果问题,在线等。。。急!!

crystalsmu 2004-12-03 02:12:13
下面的程序不知道出现什么问题了,图层淡入淡出效果消失了
(注意,变量i是为了定义具体的图层)
大家帮帮忙,看看怎样改吧!!


<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<script language="javascript">
var intDelay=50;
var intInterval=5;
var i;
LayerMenu=new Array();

function LayerInit(){
LayerMenu[1]=document.all["Layer1"];
LayerMenu[2]=document.all["Layer2"];
}

function MenuClick(i)
{
if (LayerMenu[i].style.display=="")
{
GradientClose(i);
}
else{
LayerMenu[i].filters.alpha.opacity=0;
LayerMenu[i].style.display="";
GradientShow(i);
}
}

function GradientShow(i)
{
LayerMenu[i].filters.alpha.opacity+=intInterval;
if (LayerMenu[i].filters.alpha.opacity<100) setTimeout("GradientShow(i)",intDelay);

}

function GradientClose(i)
{
LayerMenu[i].filters.alpha.opacity-=intInterval;
if (LayerMenu[i].filters.alpha.opacity>0) {
setTimeout("GradientClose(i)",intDelay);
}
else {
LayerMenu[i].style.display="none";
}
}

</script>
</head>

<body onLoad="LayerInit();">

<p><A href="#" onClick="MenuClick(2)">Click here too!!</a>
<div id="Layer2" style="DISPLAY: none; Z-INDEX: 1; FILTER: alpha(opacity=0); POSITION: absolute;">
<img src="dog.JPG" width="500" height="375"><br><br>HaHaHa
</div>
</p>

</body>
</html>
...全文
173 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
crystalsmu 2004-12-03
  • 打赏
  • 举报
回复
”LayerMenu[i].filters.alpha.opacity“是不是有问题啊
因为网页提示有错误,说这句有“invalid argument”
crystalsmu 2004-12-03
  • 打赏
  • 举报
回复
效果是可以的,但是去掉了alert,就没有看不到透明度渐变了
里面肯定有错误
butcher2002 2004-12-03
  • 打赏
  • 举报
回复
if (LayerMenu[i].filters.alpha.opacity<100) {setTimeout(GradientShow(i),intDelay);


前面添加一个alert("111111");

就可以看到效果了~

我现在不知道你这个递归为什么不能直接运行
butcher2002 2004-12-03
  • 打赏
  • 举报
回复
刚才连续回了3个了

错误在于你把setTimeout(GradientShow(i)函数两边加了""

你去掉就可以了

我试了


butcher2002 2004-12-03
  • 打赏
  • 举报
回复
if (LayerMenu[i].filters.alpha.opacity<100) {setTimeout(GradientShow(i),intDelay);
crystalsmu 2004-12-03
  • 打赏
  • 举报
回复
butcher2002(发言仅代表个人观点,不保证正确):
你的方法我试过了,不行!!
提示错误是:"LayerMenu[...].filters' is null or not an object"
其实,如果我利用参数控制的话,效果是正确的
但是我定义了LayerMenu数组,传入参数i,效果就不对了
什么问题呢??
butcher2002 2004-12-03
  • 打赏
  • 举报
回复
不行。。。。。我再看下。。
butcher2002 2004-12-03
  • 打赏
  • 举报
回复
<body onLoad="LayerInit();MenuClick(i) ">

试一下
butcher2002 2004-12-03
  • 打赏
  • 举报
回复
<div id="Layer2" style="DISPLAY: none; Z-INDEX: 1; FILTER: alpha(opacity=0); POSITION: absolute;">
<img src="dog.JPG" width="500" height="375"><br><br>HaHaHa
</div>

控制淡出的是FILTER参数~~~~~~~~你写那么多没用
style="DISPLAY: none; Z-INDEX: 1; FILTER: alpha(opacity=0); POSITION: absolute;"
这个是控制的

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧