我使用了一个垂直的浮动菜单,点击想调用右边的div显示flash。右边的html代码是:
<div id="subcontentright">   
 <object  classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"   codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"   width="590"  height="350" >
  <param  name="movie"   value="images/tennis.swf" />  
  <param  name="quality" value="high" />
  <param  name="scale" value="exactfit" />
  </object>浮动菜单是:
           <div id="idSlideView3" class="sv3">
     <dl class="on">
    <dt onclick="clickme(0)">楼宇分户住宅</dt>
    <dd>空间尺寸&nbsp;&nbsp;&nbsp; 吊顶&nbsp;&nbsp;&nbsp;&nbsp; 墙面 </dd>
    <dd>地面&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 窗&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 采暖</dd>
     <dd>护栏&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 浴室&nbsp;&nbsp;&nbsp;&nbsp; 卫生间</dd>
 <dd>电器装置&nbsp;&nbsp;&nbsp; 房间甲醛含量精装项</dd>
   </dl>
  <dl>
    <dt onclick="clickme(1)"> 庄园别墅</dt>
    <dd style ="padding:2px;">室内(精装/毛坯) </dd>
   <dd>空间尺寸&nbsp; 吊顶&nbsp; 墙面&nbsp; 地面&nbsp;&nbsp; 门 </dd>
<dd>窗&nbsp;&nbsp;&nbsp; 采暖&nbsp;&nbsp; 护栏&nbsp;&nbsp; 浴室/卫生间&nbsp;</dd>
<dd>电器装置&nbsp;&nbsp; 房间甲醛含量(精装项)</dd>
<dd> 建筑节能质量(附加项)</dd>
 <dd style ="padding:2px;">标准依据:</dd>
<dd>建筑工程施工质量验收统一标准</dd>
<dd>GB50300-2001</dd>
    </dl>
浮动菜单调用图片没有问题,但调用flash就不行,请各位高手帮帮忙。
   <script   language="javascript" type="text/javascript">
function SlideView(e){
   for(var r=document.getElementById(e).getElementsByTagName('dl'),c=clearInterval,i=-1,p=r[0],j; j=r[++i];){
       j.style.height=(i?24:379)+'px';
       j.onmouseover=function(){clearTimeout(j);var i=this;j=setTimeout(function(){if(p!=i)_(p,389,24)(p=i,24,389)},200)};
   }
   function _(el,f,t){
       c(el.$1);el.className=f>t?'':'on';
       return el.$1=setInterval(function(){el.style.height=(f+=Math[f>t?'floor':'ceil']((t-f)*.3))+'px';if (f==t)c(el.$1)},10),_
   }
};
new SlideView( "idSlideView3");function clickme(n){
var h=document.getElementById("idSlideView3").getElementsByTagName("dt");
h[n].onclick=function(n){
var d=document.getElementById("subcontentright").getElementsByTagName("param");
if(n==0) d[0].value='images/yf.swf'; 
if(n==1) d[0].value='images/bs.swf';
}
}
    </script>

解决方案 »

  1.   

     <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"  id='objFlash' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="590" height="350" >
      <param name="movie" value="images/tennis.swf" />  
      <param name="quality" value="high" />
      <param name="scale" value="exactfit" />
      </object>// 试试
    var d=document.getElementById("objFlash");
    if(n==0) 
    d.movie.value='images/yf.swf'; 
    if(n==1) 
    d.movie.value='images/bs.swf';
      

  2.   

    不行。请问JavaScript有没有什么好的编译器,现在“网页出错”也不知是哪出的错。
      

  3.   

    1.简单点,<object>用一个<div id='flashdiv'>给包起来。然后要更换SWF时,就改变document.getElementById('flashdiv').innerHTML,将整个<OBJECT>重写一下就行了。2.给<object> 加个ID,比如ABC,然后可以直接用 ABC.movie="要播的SWF文件URL"即可。