高分求解DHTML的难题
现在需要在网页上显示一个播放影视文件的ActiveX控件,但是我并不想页面刚加载便显示此控件,而是在缓冲完成后才显示此控件,缓冲完成之前在本该显示控件的地方显示一个广告。
我尝试了两种方法,都没有成功。第一种是使用两个层,一个放广告,一个放控件,使用display='none'和display=''来实现页面初次加载时显示广告层,点击播放按钮并缓冲完成后显示控件层。但是我发现如果设置display='none',则控件并没有加载,所以点击播放按钮时调用其函数不成功。此方法未能实现。
第二种方式如下:
<html>
<head>
<script language="JavaScript" type="text/JavaScript">
<!--
function load()
{
document.all['Layer1'].style.display='none';
document.getElementById('Layer2').style.left='11px';
document.getElementById('Layer2').style.top='16px';
document.getElementById('Layer2').style.width='500px';
document.getElementById('Layer2').style.height='375';
}
//-->
</script>
</head>
<body>
<table width="10" height="10" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="10"><div id="Layer1" style="width:500px; height:375px; z-index:1; background-color: #FF0000; layer-background-color: #FF0000; border: 1px none #000000;"></div></td>
</tr>
<tr>
<td>
<br><br><br><br>
<input type="button" value="click" onClick="load()"><input type="button" value="click2" onClick="load()">
</td>
</tr>
</table>
<input type="button" value="click" onClick="load()">
<div id="Layer2" style="position:absolute; width:500px; height:375px; z-index:1; left: -9999px; top: -9999px; background-color: #FF0000; layer-background-color: #FF0000; border: 1px none #000000;"><!--此处放置控件,略去--></div>
</body>
</html>
也就是在开始将layer2放置在页面之外,在播放的时候可以移到页面之中,可以做到开始的时候页面不显示控件却可以加载控件的目的。这样做可以成功用layer2覆盖layer1,但是却奇怪的发现页面上的几个按钮一块消失了。我对DHTML不是很熟,希望高手可以帮我答疑解惑,或者有什么更好的方法?