2010-11-16 63 views
0

我有一個問題,使用jQuery函數克隆和追加切換div的內容。在IE8上jQuery問題克隆/追加flash電影

簡而言之,我使用兩個鏈接來顯示和隱藏Flash視頻:link1顯示video1並隱藏video2。 Link2顯示video2並隱藏video1。

這裏是我的代碼:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
<script type="text/javascript" src="inc/jquery/jquery.js"></script> 
</head> 
<body> 
<div class="leftcolumn"> 
    <div class="videoholder"> 
    <div id="box1"> 
     <object width="300" height="225"> 
     <param name="movie" value="http://www.youtube.com/v/uv9RpD4bbNw?fs=1&amp;hl=en_US&amp;rel=0"> 
     </param> 
     <param name="allowFullScreen" value="true"> 
     </param> 
     <param name="allowscriptaccess" value="always"> 
     </param> 
     <embed src="http://www.youtube.com/v/uv9RpD4bbNw?fs=1&amp;hl=en_US&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="300" height="225"></embed> 
     </object> 
     <p> <a href="#" name="box2" class="sele" onclick="return false">View video in Spanish</a></p> 
    </div> 
    <div id="box2"> 
     <object width="300" height="225"> 
     <param name="movie" value="http://www.youtube.com/v/HxBRdJCV8Os&amp;hl=en_US&amp;fs=1?rel=0"> 
     </param> 
     <param name="allowFullScreen" value="true"> 
     </param> 
     <param name="allowscriptaccess" value="always"> 
     </param> 
     <embed src="http://www.youtube.com/v/HxBRdJCV8Os&amp;hl=en_US&amp;fs=1?rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="300" height="225"></embed> 
     </object> 
     <p> <a href="#" name="box1" class="sele" onclick="return false">View video in English</a></p> 
    </div> 
    </div> 
    <script type="text/javascript"> 

          $("#box1").show().siblings().hide(); // Default video 

          $(".sele").click(function(){ 
           switch(this.name) { 
             case "box1" : 
               var box2 = $("#box2").clone(true); 
               $("#box2").remove(); 
               $(".videoholder").append(box1); 

               $(".videoholder").append(box2); 
               $("#box1").show().siblings().hide(); // 

               break; 
             case "box2" : 
               var box1 = $("#box1").clone(true); 
               $("#box1").remove(); 
               $(".videoholder").append(box2); 

               $(".videoholder").append(box1); 
               $("#box2").show().siblings().hide(); // 

               break; 
           } 
          }); 

</script> 
</div> 
</body> 
</html> 

這是我做,使其工作在IE最接近。我會更容易使用

<script type="text/javascript"> 
    $("#box1").show().siblings().hide(); // Default 
    $(".sele").click(function(){ 
    $("#" + this.name).show().siblings().hide(); 
    }); 
</script> 

但是,這對IE不起作用:隱藏的視頻不斷播放。

我感謝您提供想要分享的所有想法。

祝福。 Luis

回答

0

您需要將WMODE設置爲0或透明。 Fix'd:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
<script type="text/javascript" src="inc/jquery/jquery.js"></script> 
</head> 
<body> 
<div class="leftcolumn"> 
    <div class="videoholder"> 
    <div id="box1"> 
    <object width="300" height="225"> 
    <param name="movie" value="http://www.youtube.com/v/uv9RpD4bbNw?fs=1&amp;hl=en_US&amp;rel=0"> 
    </param> 
    <param name="allowFullScreen" value="true"> 
    </param> 
    <param name="allowscriptaccess" value="always"> 
    </param> 
    <param name="wmode" value="transparent"></param> 
    <embed src="http://www.youtube.com/v/uv9RpD4bbNw?fs=1&amp;hl=en_US&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="300" height="225" wmode="transparent"></embed> 
    </object> 
    <p> <a href="#" name="box2" class="sele" onclick="return false">View video in Spanish</a></p> 
</div> 
<div id="box2"> 
    <object width="300" height="225"> 
    <param name="movie" value="http://www.youtube.com/v/HxBRdJCV8Os&amp;hl=en_US&amp;fs=1?rel=0"> 
    </param> 
    <param name="allowFullScreen" value="true"> 
    </param> 
    <param name="allowscriptaccess" value="always"> 
    </param> 
    <param name="wmode" value="transparent"></param> 
    <embed src="http://www.youtube.com/v/HxBRdJCV8Os&amp;hl=en_US&amp;fs=1?rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="300" height="225" wmode="transparent"></embed> 
    </object> 
    <p> <a href="#" name="box1" class="sele" onclick="return false">View video in English</a></p> 
</div> 
</div> 
</div> 
</body> 
</html> 
+0

Ooooohh!它適用於IE7,但不適用於IE8。 – luenib 2010-11-16 21:11:09

+0

非常感謝。我會繼續玩這些參數。 – luenib 2010-11-16 21:11:39