关于背景图片出现时的特效,郁闷了一天

kocs2002 2006-04-14 09:56:06
先看一段脚本代码:
第一步:把如下代码加入<body>区域中
<SCRIPT FOR=window EVENT=onLoad LANGUAGE=vbscript>
image1.filters.item(0).apply()
image1.filters.item(0).transition = 12
image1.Style.visibility = ""
image1.filters(0).play(2.0)
</SCRIPT>


第二步:把如下代码加入<body>区域中
<img src="1.gif" tppabs="http://www.3lian.com/javascript/1.gif" border=5 id="image1"
style="visibility:hidden; FILTER:revealTrans(Duration=4.0, Transition=23);">

这个是给网页中的图片加入出现时的特效,但是我遇到一个问题,在普通的静态页面时这种方法没问题,但是在一个asp页面就出错,提示"错误:对象不支持此属性或方法: image1.filters".这个页面要显示从数据库中读取的内容,并且<body>中是这样写的:<body bgcolor="#FFFFFF" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" onLoad="MM_preloadImages('resource/images/back1_2.jpg')" scroll="no">.不知道是不是由于onLodad="MM_prelodaImages('resource/images/back1_2.jpg')" 这个定义的原因,我只知道这个定义是对一个含返回链接的图片做的特效处理.因为我对asp不是很熟悉,并且这个也不是我写的,我只是想做一些修改,但是却遇到上述困难,望哪位高手能帮帮我.
...全文
178 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanghui0380 2006-04-14
  • 打赏
  • 举报
回复
帮你写了一个,测试通过
<html>
<head>
<SCRIPT FOR=window EVENT=onLoad LANGUAGE=vbscript>

Set a=document.all.image1
For each b In a
b.filters.item(0).apply()
b.filters.item(0).transition = 12
b.Style.visibility = ""
b.filters(0).play(2.0)

next


</SCRIPT>
<script language='javascript'>
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
</script>
</head>
<body bgcolor="#FFFFFF" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" onLoad="MM_preloadImages('2.jpg')" scroll="no">
<img src="1.jpg" tppabs="http://www.3lian.com/javascript/1.gif" border=5 id="image1"
style="visibility:hidden; FILTER:revealTrans(Duration=4.0, Transition=23);">
<img src="1.jpg" tppabs="http://www.3lian.com/javascript/1.gif" border=5 id="image1"
style="visibility:hidden; FILTER:revealTrans(Duration=4.0, Transition=23);">
</body>
</html>
kocs2002 2006-04-14
  • 打赏
  • 举报
回复
我删除了
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>




<body onLoad="MM_preloadImages('resource/images/back1_2.jpg')" scroll="no">改为
<body scroll="no">

又删除了
<div id="Layer2" style="position:absolute; width:129px; height:45px; z-index:2; left: 892px; top: 720px;">
<a href="Indoor.htm" onMouseOver="swapImage()" onMouseOut="MM_swapImgRestore()">
<script language="javascript" type="text/javascript">
if(style == 'style01')
document.write("<img src='resource/images/back1_1.jpg' name='Image1' width='127' height='42' border='0' id='Image1'>");
if(style == 'style02')
document.write("<img src='resource/images/back2_1.jpg' name='Image1' width='127' height='42' border='0' id='Image1'>");
if(style == 'style03')
document.write("<img src='resource/images/back3_1.jpg' name='Image1' width='127' height='42' border='0' id='Image1'>");
</script>
</a>
<script language="javascript" type="text/javascript">
function swapImage(){
if(style == 'style01')
MM_swapImage("Image1","","resource/images/back1_2.jpg",1);
if(style == 'style02')
MM_swapImage("Image1","","resource/images/back2_2.jpg",1);
if(style == 'style03')
MM_swapImage("Image1","","resource/images/back3_2.jpg",1);

}
</script>
</div>
就不会出错了,什么原因?
kocs2002 2006-04-14
  • 打赏
  • 举报
回复
我知道什么原因了,就是关于MM_preloadImages这个函数的,它和其他几个函数完成在右下角显示显示一个返回的连接,当鼠标移到上面产生特效,如果我把处理这块相关的内容删去就不会出错,那现在我的问题是怎么解决?我既想保留原来的有加入背景特效怎么做
www_7di_net 2006-04-14
  • 打赏
  • 举报
回复
<html>
<head>
<SCRIPT FOR=window EVENT=onLoad LANGUAGE=vbscript>
image1.filters.item(0).apply()
image1.filters.item(0).transition = 12
image1.Style.visibility = ""
image1.filters(0).play(2.0)
</SCRIPT>
<script language='javascript'>
function MM_preloadImages(str){
}
</script>
</head>
<body bgcolor="#FFFFFF" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" onLoad="MM_preloadImages('resource/images/back1_2.jpg')" scroll="no">
<img src="1.gif" tppabs="http://www.3lian.com/javascript/1.gif" border=5 id="image1"
style="visibility:hidden; FILTER:revealTrans(Duration=4.0, Transition=23);">
</body>
</html>
wanghui0380 2006-04-14
  • 打赏
  • 举报
回复
经过测试,你的代码应该不只一个image1

<html>
<head>
<SCRIPT FOR=window EVENT=onLoad LANGUAGE=vbscript>
image1.filters.item(0).apply()
image1.filters.item(0).transition = 12
image1.Style.visibility = ""
image1.filters(0).play(2.0)
</SCRIPT>
<script language='javascript'>
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
</script>
</head>
<body bgcolor="#FFFFFF" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" onLoad="MM_preloadImages('resource/images/back1_2.jpg')" scroll="no">
<img src="1.gif" tppabs="http://www.3lian.com/javascript/1.gif" border=5 id="image1"
style="visibility:hidden; FILTER:revealTrans(Duration=4.0, Transition=23);">
<img src="1.gif" tppabs="http://www.3lian.com/javascript/1.gif" border=5 id="image1"
style="visibility:hidden; FILTER:revealTrans(Duration=4.0, Transition=23);"> //这里多出一个image1
</body>
</html>

上面的代码,出错错误:对象不支持此属性或方法: image1.filters
wanghui0380 2006-04-14
  • 打赏
  • 举报
回复
另:请保证你的html代码中只有一个id="image1",呵呵如果出现多个,你的程序就会出错
wanghui0380 2006-04-14
  • 打赏
  • 举报
回复
代码没问题,你说提取了数据库。
恐怕是在数据提取中生成了非期望的数据

请在ie中运行,然后查看生成的html代码,将生成的代码与静态的标准代码比较一下,看是否生成了非期望的数据
  • 打赏
  • 举报
回复
<html>
<head>
<SCRIPT FOR=window EVENT=onLoad LANGUAGE=vbscript>
image1.filters.item(0).apply()
image1.filters.item(0).transition = 12
image1.Style.visibility = ""
image1.filters(0).play(2.0)
</SCRIPT>
<script language='javascript'>
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
</script>
</head>
<body bgcolor="#FFFFFF" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" onLoad="MM_preloadImages('resource/images/back1_2.jpg')" scroll="no">
<img src="1.gif" tppabs="http://www.3lian.com/javascript/1.gif" border=5 id="image1"
style="visibility:hidden; FILTER:revealTrans(Duration=4.0, Transition=23);">
</body>
</html>

也没问题
  • 打赏
  • 举报
回复
跟读取数据库没关系

这个函数是dw自动生成的,你不帖出来也知道是什么的....
kocs2002 2006-04-14
  • 打赏
  • 举报
回复
那到底是什么问题啊?跟读取数据库有关吗?MM_preloadImages函数的内容是:
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
  • 打赏
  • 举报
回复
<html>
<head>
<SCRIPT FOR=window EVENT=onLoad LANGUAGE=vbscript>
image1.filters.item(0).apply()
image1.filters.item(0).transition = 12
image1.Style.visibility = ""
image1.filters(0).play(2.0)
</SCRIPT>
<script language='javascript'>
function MM_preloadImages(str){
}
</script>
</head>
<body bgcolor="#FFFFFF" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" onLoad="MM_preloadImages('resource/images/back1_2.jpg')" scroll="no">
<img src="1.gif" tppabs="http://www.3lian.com/javascript/1.gif" border=5 id="image1"
style="visibility:hidden; FILTER:revealTrans(Duration=4.0, Transition=23);">
</body>
</html>

保存成try.asp没有问题的
deninghe 2006-04-14
  • 打赏
  • 举报
回复
<SCRIPT FOR=window EVENT=onLoad LANGUAGE=vbscript>
可能是因为你用的客户端脚本问题吧 你换成javascript试试
deninghe 2006-04-14
  • 打赏
  • 举报
回复
哈哈 沙发 ...

28,408

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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