J'ai un problème pour basculer le contenu d'une div à l'aide des fonctions jQuery cloner et ajouter. En quelques mots, j'utilise deux liens pour montrer et cacher des vidéos flash: link1 montre video1 et cache video2. Link2 montre video2 et cache video1.jQuery Problème de clonage/ajout de vidéo Flash sur IE8
Voici le code que j'ai:
<!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&hl=en_US&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&hl=en_US&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&hl=en_US&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&hl=en_US&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>
C'est la chose la plus proche que je l'ai fait pour le faire fonctionner dans IE. Je serais plus facile juste pour utiliser
<script type="text/javascript">
$("#box1").show().siblings().hide(); // Default
$(".sele").click(function(){
$("#" + this.name).show().siblings().hide();
});
</script>
Mais cela ne fonctionne pas sur IE: la vidéo cachée continue à jouer.
Je vous remercie pour toutes les idées que vous souhaitez partager.
Meilleurs voeux. Luis
Ooooohh! cela fonctionne sur IE7 mais pas sur IE8. – luenib
Merci beaucoup. Je vais continuer à jouer avec les paramètres. – luenib