Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Liste déroulante : changer la largeur

13 réponses
Avatar
Gloops
Bonjour tout le monde,

Est-il possible de modifier apr=E8s affichage de la page la largeur d'une=
=20
liste d=E9roulante ?

Par exemple, si j'ai une liste qui se charge avec "ici on verra des=20
trucs et des machins" et "ici on verra des machins et des trucs", et que =

mon script modifie le contenu pour le remplacer par "trucs" et=20
"machins", IE conserve la largeur du texte initial, ce qui fait que j'ai =

une liste d=E9roulante =E9norme pour dire tr=E8s peu de chose. Un peu com=
me=20
quelqu'un qui loue une salle pour toute une journ=E9e pour dire qu'il ple=
ut.

En fait le but est d'avoir au d=E9part un texte qui signale qu'avec un=20
script on aurait autre chose, et une fois que le script a fait son=20
boulot la place n=E9cessaire est moindre.

J'ai bien mis style=3D"width:50px", mais on garde la largeur donn=E9e de =
la=20
m=EAme mani=E8re au chargement, =E0 d=E9faut celle correspondant =E0 la l=
argeur du=20
texte initial.

Une id=E9e ?

3 réponses

1 2
Avatar
SAM
Le 11/02/14 12:11, Duzz' a écrit :
Le Mardi 11 Fevrier 2014 à 12:02, SAM a écrit :
Le 10/02/14 20:17, SAM a écrit :

Test en ligne :
<http://stephane.moriaux.pagesperso-orange.fr/truc/change_menu&gt;



IE9 adapte bien la largeur à "anticonstitutionnellement".



OK
Merci du retour.


[HS]
Vues les news.julien-arlandis.fr et news.nemo que je ne sais touj pas
si ça fonctionnerait sur Mac ...
À moins que "nemo" ne soit ce 'site' vu dans mon Fx ?
[/HS]

Cordialement,
--
Stéphane Moriaux avec/with iMac-intel 27" & Mac OS X 10.6.8
Avatar
Gloops
SAM a écrit, le 10/02/2014 20:17 :
Le 07/02/14 13:56, Gloops a écrit :

En tout cas merci pour le coup de main.



Je n'ai rien compris à ce select qui ne s'adapte pas à ses changeme nts

Pour changer le contenu d'un 'select', en JavaScript de nos grand'
mères, on ferait :

function modifSelect(s, Lst) ( // 's' est le select visé
Lst = Lst.split(','); // liste des éléments en tableau
s.length = 0; // on "vide" le select
var o, c = Lst.length;
while(c--) { // on re-remplit le select
o = new Option(Lst[c]);
s[s.length] = o;
}
}

Et là, même IE devrait y arriver.

<http://www.validome.org/doc/HTML_fr/javascript/objets/options.htm&gt;
<http://msdn.microsoft.com/en-us/library/ie/dd757810%28v=vs.85%29.asp x>


De styler un élément en pixels alors qu'il doit être dimensionné en
fonction d'un nombre de caractères est une hérésie !
Ça ne respecte pas les particularismes des différents visiteurs et de
leurs navigateurs (leurs configurations) (mon Safari n'est pas réglé
comme mon Fx ni comme mon Chrome).

J'en ai un peu raz l'bol de voir des menus qui sont illisibles (le text e
débordant des cases prévues) ou inexploitables car ne rentrant pas en
ligne dans l'espace alloué par le concepteur à courte vue et dont a lors
les survols ne déplient pas les sous-menus voulus.



Cordialement,




Bonjour,

J'ai déployé ça Dimanche, et ça marche sur IE 8 et Firefox, et ta nt
mieux, parce que le lendemain il y avait autre chose qui me tombait
dessus, qui a justifié une restauration de l'image du disque, après q uoi
je dois me bagarrer avec des histoires de mots de passe oubliés ...

Ce que je me rappelle avoir vu comme unités c'était pixels et
centimètres. Ou alors, il faut appeler une fonction pour calculer la
largeur ? ça me rappelle des souvenirs, ça, je crois bien que c'est a vec
VB6 que j'avais joué avec ça. Ou sous Access.

On pourrait même rêver un peu : au départ la liste déroulante s'a juste
automatiquement au texte qu'il y a dedans, si on doit régler la largeur
ensuite c'est parce qu'on met un texte plus court. Il n'y aurait pas une
méthode d'ajustement automatique de la largeur, pour s'adapter au
nouveau texte ?

Je n'ai pas encore une bonne visibilité sur mon emploi du temps à ven ir,
je tâcherai de regarder ça dès que j'ai un moment de libre. Peut-ê tre le
week-end qui vient, sais pas.

Mais merci pour les remarques en tout cas. J'ai remarqué il y a deux
semaines que ma gestion de cette liste déroulante "craignait vachement" ,
maintenant il n'y a plus que l'aspect de mettre une longueur forfaitaire
pour "Français" ou "Anglais" qui est discutable, c'est une histoire de
portabilité, il y a du progrès il y a au moins deux navigateurs sur
lesquels ça fonctionne bien. Ah tiens il faudra que je fasse des tests
avec le zoom.
Avatar
SAM
Le 13/02/14 13:12, Gloops a écrit :
SAM a écrit, le 10/02/2014 20:17 :

Et là, même IE devrait y arriver.





Voir mon post suivant pour une démo/test en ligne
"menu déroulant brut de fonderie adaptable automatiquement"

Bonjour,



'llo,


J'ai déployé ça Dimanche, et ça marche sur IE 8 et Firefox,



Quoi "ça" ?

Ce que je me rappelle avoir vu comme unités c'était pixels et
centimètres.



"em" peut-être bien ?
<http://www.yoyodesign.org/doc/w3c/css2/syndata.html#em-width&gt;

On pourrait même rêver un peu : au départ la liste déroulante s'ajuste
automatiquement au texte qu'il y a dedans,



C'est ce que ça fait si :
- on ne style pas cette liste
- et, probablement, si on utilise la bonne méthode JavaScript
(cf. le lien donné dans l'autre post)


Cordialement,
--
Stéphane Moriaux avec/with iMac-intel 27" & Mac OS X 10.6.8
1 2