ScrollLeft d'un div avec overflow : auto [Résolu]

Teclis01 1423 Messages postés mardi 14 décembre 2004Date d'inscription 29 décembre 2012 Dernière intervention - 1 déc. 2008 à 12:31 - Dernière réponse : Bul3 4934 Messages postés samedi 1 juillet 2006Date d'inscription 2 février 2015 Dernière intervention
- 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
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Bul3 4934 Messages postés samedi 1 juillet 2006Date d'inscription 2 février 2015 Dernière intervention - 1 déc. 2008 à 13:03
3
Merci
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         

Merci Bul3 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 85 internautes ce mois-ci

Commenter la réponse de Bul3
Meilleure réponse
Bul3 4934 Messages postés samedi 1 juillet 2006Date d'inscription 2 février 2015 Dernière intervention - 1 déc. 2008 à 13:06
3
Merci
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       

Merci Bul3 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 85 internautes ce mois-ci

Commenter la réponse de Bul3
Teclis01 1423 Messages postés mardi 14 décembre 2004Date d'inscription 29 décembre 2012 Dernière intervention - 1 déc. 2008 à 16:22
0
Merci
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
Commenter la réponse de Teclis01
Teclis01 1423 Messages postés mardi 14 décembre 2004Date d'inscription 29 décembre 2012 Dernière intervention - 1 déc. 2008 à 16:23
0
Merci
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
Commenter la réponse de Teclis01
Bul3 4934 Messages postés samedi 1 juillet 2006Date d'inscription 2 février 2015 Dernière intervention - 1 déc. 2008 à 16:36
0
Merci
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         
Commenter la réponse de Bul3

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.