Propriétés de la scrollbar

ViPHP
ViPHP | 3607 Messages

13 mars 2007, 23:55

Bonsoir à tous,
Je doit créer une scrollbar personnalisée...
Et je pensait faire celà avec des petites images, et des onclick etc...
Seulement, je ne connais pas les différentes propriétés d'une scrollbar...
Y aurait t'il moyen de faire quelque chose comme ça:

Code : Tout sélectionner

element.scrollbar.position
Merci d'avance!

ViPHP
ViPHP | 3607 Messages

14 mars 2007, 09:56

Alors voilà, j'ai bien avancé... dans ma scrollbar maison!
Visible içi: http://puffins.fr/mimile/actu.html
(il n'y a que la flèche du bas de -presque- fonctionnelle)
J'ai deux problème qui se pose maintenant...
J'aimerai que tant que je ne suis pas sorti de dessus la flèche (onmouseout), on éxécute la fonction descendre(), suis-je obligé de passer par setTimeout() ?
Et l'autre chose:
J'aimerai pouvoir calculer la hauteur de mon paragraphe, pour pouvoir synchroniser l'ascenseur et le défilement du texte...
En gros que lorsque l'ascenseur est en bas, on est en bas du texte...
Si j'avais sa hauteur, avec un peu de calcul, ça serai pas dur, mais je sais pas autrement...

Eléphanteau du PHP | 21 Messages

14 mars 2007, 10:08

Juste pour info, ta scrollbar est pas visible sous ie7.

ViPHP
ViPHP | 3607 Messages

14 mars 2007, 10:11

vi j'ai pas encore fait la compatibilitée... :D

ViPHP
ViPHP | 3607 Messages

14 mars 2007, 10:42

ça y est, j'ai mis à jour le script, maintenant, grace à setTimeout(), le curseur descend en continu...!
Seulement je n'ai toutjours pas réussi à avoir ma hauteur de paragraphe...
Lorsque je fait paragraphe.style.height...
J'ai une valeur nulle....
Comment faire :(

ViPHP
ViPHP | 3607 Messages

14 mars 2007, 15:28

Bonjour, j'ai poursuivi le dévellopement de mon bicule, et j'ai même réussi à ce que les images soient correctements positionnées sous IE6 (pas IE7 mais j'y travail)...
Le problème, c'est que sous ie, mes fonctions javascript ne fonctionnes plus...
scale= 3; //nb pixels de décalages à chaque fois
    wait=10; //temps d'attente entre chaque décalage
    flag=0;  //flag de controle pour setimeout
    function descendre(){
        ascenseur=document.getElementById('ascenseur'); // on récupère les éléments
        news=document.getElementById('news');

        ascMarginTop=ascenseur.style.marginTop; // la valeur de leur propriétée css margin-top
        newsMarginTop=news.style.marginTop;  // c'est le marginTop ui plante sous ie je pense
            if(ascMarginTop==''){ // premier passage, les valeurs de margin-top ne sont aps définie.. on le fait
                ascenseur.style.marginTop=scale+'px';
                news.style.marginTop='-'+scale+'px';
            } else { // les autres passsages, on incrément ou décrméntes les différentes valeurs
                ascPosition=ascMarginTop.indexOf('p');
                newsPosition=newsMarginTop.indexOf('p');
                ascValue=parseInt(ascMarginTop.substr(0,ascPosition));
                newsValue=parseInt(newsMarginTop.substr(0,newsPosition));
                if(ascValue<180){
                    ascValue+=scale;
                    newsValue-=scale*2;
                }
                ascMarginTop=ascValue+'px';
                newsMarginTop=newsValue+'px';
                ascenseur.style.marginTop=ascMarginTop;
                news.style.marginTop=newsMarginTop;
            }
        if(flag==1) window.setTimeout('descendre()',wait); // on répète l'opération, tant que flag==1 (il passe à 0 sur onmouseout
    }
    function monter(){
        ascenseur=document.getElementById('ascenseur');
        news=document.getElementById('news');
        ascMarginTop=ascenseur.style.marginTop;
        newsMarginTop=news.style.marginTop;
            if(ascMarginTop==''){
                ascenseur.style.marginTop='0px';
                news.style.marginTop='0px';
            } else {
                ascPosition=ascMarginTop.indexOf('p');
                newsPosition=newsMarginTop.indexOf('p');
                ascValue=parseInt(ascMarginTop.substr(0,ascPosition));
                newsValue=parseInt(newsMarginTop.substr(0,newsPosition));
                if(ascValue>0){
                    ascValue-=scale;
                    newsValue+=scale*2;
                }
                ascMarginTop=ascValue+'px';
                newsMarginTop=newsValue+'px';
                ascenseur.style.marginTop=ascMarginTop;
                news.style.marginTop=newsMarginTop;
            }
        if(flag==1) window.setTimeout('monter()',wait);
        
    }
Voilà mes deux fonctions plus ou moins commentées...
Je vois pas ce qu'il y a de bien sorcier dans ce code...
Qui sorte des propriétées classique de javascript...
J'attend votre aide ;-)
Et euh... sinon, mon problème de mesurer la hauteur de mon bloc <p> reste entier... :roll: