Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : scrollLeft d'un div avec overflow : auto [ JavaScript et le navigateur / Problème de compatibilité ] (Teclis01)

lundi 1 décembre 2008 à 12:31:46 | scrollLeft d'un div avec overflow : auto

Teclis01

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>

<body onload="slider = new Slider(); slider.init('centerSlide');">
    <div id="slider" width="300px" height="120px">
        <div id="centerSlide" style="float:left; overflow-y: hidden; overflow-x: auto; margin-left:50px; height: 120px; width:174px; white-space:nowrap;">
            <img src="./img/ange.jpg"></img><img src="./img/ange.jpg"></img><img src="./img/ange.jpg"></img><img src="./img/ange.jpg"></img><img src="./img/ange.jpg"></img>
        </div>
        <div id="left" width="63px" style="float:left; margin-left:-237px;">
                <img src="./img/left.gif" onclick="slider.scrollToLeft(30);"></img>
        </div>
        <div id="right" width="63px" style="float:left;">
            <img src="./img/right.gif" onclick="slider.scrollToRight(30);"></img>
        </div>
    </div>
</body>

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


lundi 1 décembre 2008 à 13:03:30 | Re : scrollLeft d'un div avec overflow : auto

Bul3

Membre Club
Réponse acceptée !

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 FireBug
Internet
Explorer
activer le deboggage : Outils/options Internet/Avancés
dans la liste, sous "Navigation" : décocher
o Afficher une notification de chaque erreur de script
o Désactiver le débogage de Scripts (Internet Explorer)
et mieux : télécharger le Debogger IE
voir aussi : DebugBar et Companion JS
K-Meleon
Outils / Console d'erreurs
Opera
Outils / Avancé / Console d'erreurs
Safari
Debug / Show JavaScript Console
° modifier Fichier com.apple.Safari.plist situé dans le
répertoire : Support:\Documents and Settings\utilisateur
\Application Data\Apple Computer\Safari\Preferences\
y ajouter <key>IncludeDebugMenu</key>
<true/>


Cordialement

          [mon Site] [M'écrire] Bul         


lundi 1 décembre 2008 à 13:06:18 | Re : scrollLeft d'un div avec overflow : auto

Bul3

Membre Club
Réponse acceptée !
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       


lundi 1 décembre 2008 à 16:22:35 | Re : scrollLeft d'un div avec overflow : auto

Teclis01

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


lundi 1 décembre 2008 à 16:23:48 | Re : scrollLeft d'un div avec overflow : auto

Teclis01

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


lundi 1 décembre 2008 à 16:36:04 | Re : scrollLeft d'un div avec overflow : auto

Bul3

Membre Club

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'écrireBul         




Cette discussion est classé dans : function, document, getelementbyid, scrollleft, divtoslide


Répondre à ce message

Sujets en rapport avec ce message

Ptite question sur une function js [ par destiny ] Bonjour tlm :)Voila j'ai fais une ptite function js qui me modifie la VALUE de mon input suivant la valuer d'un checkbox!function MajTexteValider() {  BOUCLE FOR [ par tonytruand ] BONSOIR,Je me prends la tête avec une boucle for imbriquée que je n'arrive pas à faire, un ptit coup de main svp.Bon là je peux créer un twisty en cli iframe dans nelle fenetre _blank [ par tonytruand ] BonjourEst ce quelqu'un pourrait me donner un petit coup de main, merci par avancej'aimerai ouvrir le contenu d'un iframe dans une nouvelle page et je ajax/xmlhttprequest [ par David_monchy ] salut à tous,je développe un chat, et j'ai un problème: j'utilise une liste de connectés qui affiche en 'temps reel' les membres connectés. Seulement, Pb firefox pour cacher des div [ par fdthierry ] Bonjour,J'ai un menu qui se créé à partir d'une table.Le principe est le suivant:Année   Mois      JourAu chargement sous IE, je ne vois que les année augmenter variable et si plus grande que variable =0 ? [ par frvfrvfrvfrv ] bonjour à tous,voilà deja mon code source.function milieucentre(){pf = ((window.innerWidth!=undefined) ? window.innerWidth : document.documentElem Passage d'un paramètre attribut [ par Heirem ] Bonjour,Considérons les petites fonctions suivante bien connues :/** coche la checkbox passée en paramètre */function cocher(lobjet){ document.getElem Uploas & récupere variable en javascript [ par softghost ] Bonjour tous le monde, j'ai un petit souci avec cette script qui marche parfaitement, mon problème c de comment récupérer un variable (le nom de fichi ie tes vraiment le supo de satan [ par parweb ] bonjour a tous,quelqu'un pourrait m'expliquer pourquoi le code ci-dessous fonctionne trés bien avec firefox/chrome et pas avec IEje précise que ce cod [déplacé Bar -> JS] tableaux [ par nabilwael ] Bonjour,j'ai ce fichier js :var i = 0;    function create_champ(){    if(i        document.getElementById('champs').innerHTML += " Name</label&gt


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.