Onclick javascript IE6

Résolu
maxetime Messages postés 32 Date d'inscription jeudi 23 septembre 2004 Statut Membre Dernière intervention 20 août 2010 - 13 juil. 2010 à 15:51
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 13 juil. 2010 à 21:17
Bonjour j'éprouve présentement un problème de compatibilité avec IE6 pour l'appelle d'une fonction.

J'ai une bannière dynamique en javascript avec une rotation(fadein, fadeout), cela ne pose aucun problème dans aucun navigateur. J'ai rajoute des petits bouton (div) afin de selectionner la bannière que l'on veut voir. Dans tous les navigateurs, sauf IE6, tous fonctionne. Si je fait un alert en IE6 cela s'exécute mais si j'appelle la fonction externe cela ne fonctionne pas.

function clickBox(id,img_num)
{
if(id.className == "flash_btn")
{
rotate(img_num);	
}
}

function rotate(img_num) 
{
clearTimeout(t);

document.getElementById('btn_flash'+current_banner).className = 'flash_btn';
$("imgid"+current_banner).fadeOut(1000);

document.getElementById('btn_flash'+img_num).className = 'flash_btn_active';
$("imgid"+img_num).fadeIn(1000);

current_banner = img_num;

if(img_num >= 5 || img_num <=0)
{
img_num = 1;
}
else
{
img_num++;	
}	

t = setTimeout(function(){rotate(img_num)},5000);
}





J'ai fait plusieurs essai mais sans résultat.

Merci

Maxetime

5 réponses

maxetime Messages postés 32 Date d'inscription jeudi 23 septembre 2004 Statut Membre Dernière intervention 20 août 2010
13 juil. 2010 à 21:12
Bonjour,

après quelque test j'ai finalement trouvé l'erreur, afin d'ajoute le hover au div en ie6 j'ai utiliser le htc whatever:hover et ce dernier rajoute une class en ie6. Cette class rentrait en conflit avec mon script de verification. Voici donc la correction que je lui est apporter :

function clickBox(id,img_num)
{
if(id.className.split(" ",1) == "flash_btn")
{
rotate(img_num);	
}
}


Cela ne vérifie que la première class du div.

Merci encore,

Maxetime
3
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
13 juil. 2010 à 18:49
Bonjour,
j'extrais le principal
d'abord...

donc ton élément btn_flash1 a une class "flash_btn_active"

ensuite...
function clickBox(id,img_num){
  if(id.className == "flash_btn"){
    rotate(img_num);	
  }
}
ici tu testes si l'élément a pour class "flash_btn", la réponse est NON puisque il a une class "flash_btn_active", c'est marqué au dessus, donc cela ne marchera pas

j'ai surement zappé quelque chose...
;O)
0
maxetime Messages postés 32 Date d'inscription jeudi 23 septembre 2004 Statut Membre Dernière intervention 20 août 2010
13 juil. 2010 à 19:04
A oui desole j'ai fait un mauvais exemple les 4 autres boutons on une class "flash_btn"
















Maxetime
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
13 juil. 2010 à 19:32
navré, pas moyen de tester sous IE6
essaies ce code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title></title>
<style type="text/css">
.flash_btn_active {
  height : 50px;
  width : 100px;
  border : 1px solid red;
}
.flash_btn {
  height : 50px;
  width : 50px;
  border : 1px solid blue;
}
</style>
<script type="text/javascript">
var iTimer = null;
var current_banner = 1;
//---------------------------
function clickBox( id, img_num){
  if(id.className == "flash_btn"){
    rotate(img_num);
  }
}
//-----------------------
function rotate( img_num){
  clearTimeout(iTimer);

  document.getElementById('btn_flash' + current_banner).className = 'flash_btn';
  document.getElementById('btn_flash' + img_num).className = 'flash_btn_active';

  current_banner = img_num;
  if (img_num >= 5 || img_num <= 0) {
    img_num = 1;
  } else {
    img_num++;
  }

  iTimer = setTimeout(function () {
    rotate(img_num)
  }, 1000);
}
</script>
</head>
















</html>
si cela fonctionne c'est un problème avec la librairie utilisée

;O)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
13 juil. 2010 à 21:17
penses à mettre ta réponse en Réponse acceptée !, cela peut intéresser du monde...

;O)
0
Rejoignez-nous