ScrollLeft d'un div avec overflow : auto

Résolu
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 - 1 déc. 2008 à 12:31
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 1 déc. 2008 à 16:36
Bonjour ici :)

Alors voilà j'ai un petit soucis avec les différents browser (et j'ai testé que sur 2 )

voici le html (il manque quelques balises mais rien de très méchant enfin je pense...)

<link rel= "stylesheet" type="text/css" href="./style.css">
<script type="text/javascript" src="./slider.js"></script>

   

       

           
       

       

               
       

       

           
       

   

Et le js slider.js

function Slider(){
   
    this.init = function(divIdToSlide){
        this.divToSlide=divIdToSlide;
        this.minLeft=0;
        this.maxRight=document.getElementById(this.divToSlide).scrollWidth;
        this.ie= document.all?true:false;
    }
   
    this.scrollToLeft = function(leftMove){
        document.getElementById(divToSlide).scrollLeft=document.getElementById(this.divToSlide).scrollLeft+leftMove;
    }

    this.scrollToRight = function(rightMove){
        document.getElementById(this.divToSlide).scrollLeft=document.getElementById(this.divToSlide).scrollLeft+rightMove;
    }

}

Sous FireFox ca fonctionne mais sous ie ça me renvoie des erreurs et rien pour debuger...
En gros il me dit que l'objet ne gere pas la propriété ou la methode.
Qqun saurait il pourquoi et comment je peux rendre ce truc compatible ie 6?

Merci

PS : le code est en debug d'ou la longueur et aucun refactorisation.

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro

5 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
1 déc. 2008 à 13:03
bonjour,

tu as un id="slider" , comme il n'y a pas de name, IE met un name="slider" automatiquement.
en js :    slider = new Slider();  slider.init('...
sans var ( mais bon pas sûr que cela suffirait )  IE ne sais plus à qui on s'adresse.

var toto = new Slider();  toto.init(...
ça devrait aller meiux ( sans préjuger du reste )

quand à debugger, mon foie  :
Chrome
, contrôler page actuelle / Options pour développeurs
/ Console Javascript, ----
FireFox
, Outils / Console d'erreurs
et mieux : télécharger mon Site] [M'écrire] Bul         
3
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
1 déc. 2008 à 13:06
euh... mes "remarques" sous IE7...
je n'ai plus iE6
surtout que IE8 est annoncé, même avec du retard, mais il arrive ;o)
          [mon Site] [M'écrire] Bul       
3
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
1 déc. 2008 à 16:22
Encore une fois tu m'evite de m'arracher beaucoup de cheveux !

Bizarerie ie de déclarer des variables comme les name des tag html ? surtout en repiquant le name de l'id... je me demandes s'il declares qqch si je donne ni name ni id à un tag

Pour ce qui est du tableau, je t'avoue que je connaissais pas et ton tableau va être un de mes memento
En tout cas Merci !!!

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
0
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
1 déc. 2008 à 16:23
Dernière chose ca marche avec ie6 et ie7
ie8 ? j'l'ai pas

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
0

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

Posez votre question
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
1 déc. 2008 à 16:36
si tu a un élément name="toto", toto.??? est directement accessible avec IE.
et avec id="toto" : aussi !
pas avec les autres navigateurs pour qui il faut que ce soit dans un form
  et qu'il faut appeler avec document.name_du_formulaire.toto

comme tu n'as pas mis var toto, que l'élément toto existe,
ie ne sait plus quoi faire  ( ou plutôt il fait...  sur l'élément html
   et dans ce cas ci, ça fait planter  )

          [mon Site] [M'écrire]  Bul         
0
Rejoignez-nous