11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je souhaiterais personnaliser un scroll vertical avec 2 btns, pour ne pas utiliser la barre de scroll d'IE graphiquement inadaptée à l'infini élégence de mon site Smiley biggol

Pour les gestionnaires d'évènement et cible mon <div> via son ID pas de problèmes.
Je souhaite, d'une part: bloquer mon <div> en css à une certaine hauteur sans le
overflow:auto;
qui fait apparaître la fameuse barre de scroll.
D'autre part: jouer via js sur la propriété de cette objet qui permet son scroll (de préférence avec un moteur: en utilisant qq chose comme setTime() je crois).

Bref si vous avez un code source sur ce thème je suis preneur.

Merci.
Modifié par lineTo (04 Sep 2006 - 16:54)
Tu veux dire que, pour des raisons purement esthétiques, tu vas remplacer une fonctionnalité de base standard et accessible (et à laquelle les utilisateurs sont habitués) par un bricolage en Javascript qui fonctionnera, avec un peu de chance, chez 70-80% des utilisateurs ?
Smiley sweatdrop
Pourquoi seulement

a écrit :
70-80% des utilisateurs


?

Sinon pour en revenir au js en admettant que je campe sur mes positions
comment obtenir la hauteur du <div>, non celle écrite dans le CSS (document.getElementById("monID").style.height)?
Modérateur
Bonjour lineTo,

Le but du forum est assez spécifique puisqu'il est plus question de conseiller sur ce qui est bon pour les utilisateurs plutôt que de répondre à tout type de demande. Ici, ce que tu cherches à faire ne colle pas à l'esprit des standards, comme mpop te l'a précisé. En admettant que tu tiennes réellement à camper sur ta position, nous nous verrons obligé de fermer ce sujet... Smiley decu
Bonjour k64,
koala64 a écrit :
Bonjour lineTo,

ce que tu cherches à faire ne colle pas à l'esprit des standards, comme mpop te l'a précisé. En admettant que tu tiennes réellement à camper sur ta position, nous nous verrons obligé de fermer ce sujet... Smiley decu

Il peut très bien avoir son div avec un overflow:auto pour ceux qui ont js désactivés et un système avec des flèches gérées par un js extrusif comme tu sais si bien le faire.
lineTo, c'est :
document.getElementById("monID").offsetHeight
pour ta 2è question
Modérateur
Salut, Smiley smile

Le mieux serait surtout de ne pas mettre d'overflow: auto; pour ceux qui ont le JS désactivé puisqu'on bride la navigation au clavier. Ce mode de navigation est à prévoir dans le script.

Sinon, il ne faut pas oublier de tester la méthode getElementById avant de l'employer vu que tous les navigateurs ne la comprenne pas. Smiley cligne
Modifié par koala64 (05 Sep 2006 - 13:30)
chmel a écrit :

Il peut très bien avoir son div avec un overflow:auto pour ceux qui ont js désactivés et un système avec des flèches gérées par un js extrusif comme tu sais si bien le faire.


Il y a sans doute des solutions parfaitement envisageables dans le cadre d'une exigence d'accessibilité posée en amont. C'est plus ou moins complexe mais sans doute envisageable.

Cela dit la petite symphonie de cloche qu'on vient d'avoir n'est vraiment pas inutile pour alerter sur le fait que le dispositif que lineTo envisage doit bien se situer dans cette perspective d'accessibilité et ce avec toutes les contraintes que cela peut engendrer.

L'utilisation du javascript bien pensé n'est jamais problématique. L'easy egomaniaquerie des techniques est toujours nulle et navrante.


line To a écrit :

en admettant que je campe sur mes positions

Prévoir de faire un feu de camp, les nuits commencent à être fraiches en cette saison, et ça ira de pire en pire.


Sinon
Koala64 a écrit :

il ne faut pas oublier de tester la méthode getElementById

Et sur la propriété offsetHeight ? [Smiley qui sifflote] Smiley lol
Modifié par clb56 (05 Sep 2006 - 14:49)
J'ai bien écouté ce que m'a dit mister Mpop, et je l'en remercie.

Je ne me moque pas des standards, bien au contraire, je viens justement d'acheter le bouquin de Eric Meyer sur les CSS que vous conseillez. Les tableaux c'est du passé.

Par contre, un design cohérent sur toute la ligne peut justifier à lui seul
tout le javascript immaginable, pour arriver à ses fin tout en limitant les problèmes d'accessibilité. Mais pourquoi certains internautes désactivent-t'ils le javascript de leur navigateur?

a écrit :
Il peut très bien avoir son div avec un overflow:auto pour ceux qui ont js désactivés et un système avec des flèches gérées par un js extrusif


Qu'est-ce donc que js extrusif Chmel?

a écrit :
document.getElementById("monID").offsetHeight


J'avais testé cette propriété, mais elle ne donne pas la partie masquée du <div>, elle ne rajoute que l'épaisseur des bordures s'il y en a. Smiley decu

a écrit :
il ne faut pas oublier de tester la méthode getElementById avant de l'employer vu que tous les navigateurs ne la comprenne pas.


Merci pour le rappel, effectivement il y a une autre méthode pour un autre navigateur, je vais remettre le grapin dessus Smiley cligne

a écrit :
L'utilisation du javascript bien pensé n'est jamais problématique

Je suis prêt à faire tous les efforts dans ce sens.

Je ne campe pas sur mes positions je demeure tout ouïe Smiley smile
a écrit :
J'avais testé cette propriété, mais elle ne donne pas la partie masquée du <div>, elle ne rajoute que l'épaisseur des bordures s'il y en a.

Peut-être recherches-tu scrollHeight alors ?

Sinon, avis perso, je trouve complètement idiot d'utiliser js là où il n'est pas nécessaire. Les scrollbars sont un élément standard que tout le monde sait utiliser... est-ce que tout le monde saura comment fonctionne tes boutons ? Je ne suis pas convaincu.
lineTo a écrit :

Qu'est-ce donc que js extrusif Chmel?


autant pour moi, le mot éxiste mais ne corresponds pas. En fait je voulait dire le contraire d'intrusif : pas de javascript dans le code HTML, création des boutons en DOM.
Il me semble que ta question a déja été débattue ici ou la, mais bon, ça plait au webmaster en herbe, mais ça énerve le visiteurun autre lien Smiley decu
Modifié par chmel (06 Sep 2006 - 00:02)
Modérateur
Salut,

A mon sens, Javascript est surtout là pour améliorer le comportement, voire étendre les possibilités, de l'application et peut subvenir à certaines limitations de CSS (exemple -> colonnes de mêmes hauteurs) mais dès lors qu'on cherche à modifier les fonctionnalités du navigateur, on n'est sûr de rien. On peut prévoir le comportement de certains mais assurément pas de tous donc autant éviter, çà évite les mauvaises surprises. Dans le cas de lineTo, on déborde de ce cadre. Smiley cligne