Comment faire scroller un arbre

Résolu
cs_mike1310 Messages postés 232 Date d'inscription jeudi 30 août 2007 Statut Membre Dernière intervention 31 juillet 2009 - 21 août 2008 à 12:15
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 - 21 août 2008 à 17:38
Bonjour, j'ai récupérer le script tafelTree afin de gérer un arbre dans une application mais je me retrouve avec un souci qui apparemment n'a toujours pas été réglé.

Je m'explique :

J'ai un arbre dans le quel j'ai beaucoup de branche et de feuille, et lors d'un drag&drop d'une feuille se trouvant tout en bas pour la mettre tout en haut par exemple (je schématise), et bien l'arbre ne scroll pas ce qui fait que je ne peux pas déplacer  ma feuille du bas plus haut que la taille de ma fenêtre.

J'ai essayer des overflow:auto dans la CSS mais rien y fait.

Si quelqu'un pouvait me donner une idée, m'aiguiller histoire que j'avance car c'est un grave problème pour moi.

Merci d'avance, Mike

30 réponses

cs_mike1310 Messages postés 232 Date d'inscription jeudi 30 août 2007 Statut Membre Dernière intervention 31 juillet 2009
21 août 2008 à 16:40
JE viens de changer mon code pour l'adapter à une div qui est en overflow:auto (mais ya du contenu :D). Je test bien le onmouseover :

onmouseOver="javascript:scrollDown();"> 

onmouseOver="javascript:scrollUp();"> 

function scrollDown() {
        document.getElementById('madiv').scrollTop += 10;
        scrolldelay = setTimeout('scrollDown()',0.000001);
    }
   
    function scrollUp() {
        document.getElementById('madiv').scrollTop -= 10;
        scrolldelay2 = setTimeout('scrollUp()',0.00000001);
    }

Donc ça me déplace bien quand je passe sur mes div. Je vais regarder pour la position de la souris.
Sa veut dire qu'il va falloir que je fasse un truc du style :

if (ySouris > madiv.height - 10) je scroll ... ???
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
21 août 2008 à 16:44
Tu peus virer les : "javascript:"...

Ensuite la position fxed n'est compatible qu'avec les nouveaux navigateurs...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
21 août 2008 à 16:51
>>if (ySouris > (madiv.clientHeight - 10) ) je scroll ... ??? ou offsetHeight ?
       mais vérifier si px est inclus ( ah, Alzheimer quand tu nous tiens ! ) 
       et dans ce cas : parseInt(offsetheight,10)  par exemple.
si c'est ce que tu veux faire !

et nico++ pour ses 2 affirmations ( et le position:fixed il sait de koi ki kause ;o) )

Cordialement     Bul    [mon Site] [M'écrire], <!--
0
cs_mike1310 Messages postés 232 Date d'inscription jeudi 30 août 2007 Statut Membre Dernière intervention 31 juillet 2009
21 août 2008 à 16:57
Merci toutes ces réponses qui je sens vont me plaire ... j'ai un p'tit dernier souci puis j'arrete de vous ennuyer :D

Le onmouseOver ne s'execute pas .... j'ai fait un alert dans la fonction scrollDown() mais rien ne se passe ... t'aurait une idée ?
0

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

Posez votre question
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
21 août 2008 à 16:58
@butez : non, px n'est pas inclus, il faut le rajouter sinon ça génèe une erreur...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
cs_mike1310 Messages postés 232 Date d'inscription jeudi 30 août 2007 Statut Membre Dernière intervention 31 juillet 2009
21 août 2008 à 17:00
Autant pour moi ... j'vaux aller plus vite que la musique ... en fait l'erreur vien de là ... c'est la fonction que tu as faite pour récupérer les coordonnées de la souris .. :

function getY()
    {
        if (ie)
            return (event.y+document.body.scrollTop);
        else
            return (evt.pageY)
    }

ça doit bugger au milieu ... je pense qu'il ne connait pas "ie" ... c'est quoi ce truc de "ie" ?
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
21 août 2008 à 17:08
Il faut remplacer ie par ça :

document.all && !window.opera

ie = abréviation de Internet Explorer...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
cs_mike1310 Messages postés 232 Date d'inscription jeudi 30 août 2007 Statut Membre Dernière intervention 31 juillet 2009
21 août 2008 à 17:20
Oui oui merci, j'ai fait l'autiste en fait .... j'veux aller trop vite c'est tout moi ... j'ai un autre souci avec les variable global si ça vous parle ... (j'pense que oui :D)

    var y = 0;
    var x = 0;
    document.body.onmousemove = function(event)
    {
        evt = event?event:window.event;
        y = getY(evt);
        x = getX(evt);
    }
   
    function getX(evt)
    {
        if (document.all && !window.opera)
            return (event.x+document.body.scrollLeft);
        else
            return (evt.pageX);
    }
   
    function getY(evt)
    {
        if (document.all && !window.opera)
            return (event.y+document.body.scrollTop);
        else
            return (evt.pageY);
    }
   
    function scrollDown() {
        alert(y);
    }

J'appel ma fonction scrollDown sur le onmouseOver de ma div et le malheur c'est que ça m'affiche toujours 0... Pourquoi mes variables x et y ne changent-elles pas ??
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
21 août 2008 à 17:27
En fait tu déclare ta variable evt ou event dans une fonction donc elle n'existe que dans cette fonction, sinon déclare la en dehors de tes fonction pour qu'elle soit accessible par toute tes fonctions ou sinon déclare la dans ta fonction mais comme ça :

window['var'] = value;

a++

PS : pour les variables globales, ça peut parêtre étonant mais je n'ai jamais entendu parlé des variables globales enfin il me reste plein de choses a appprendre (en ce moment j'apprend le java et l'asp)...

Si la réponse vous convient, pensez : Réponse acceptée !
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
21 août 2008 à 17:38
de rien...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
Rejoignez-nous