Récupérer attributs définis par CSS externe via JavaScript ? [RÉSOLU] - HTML/CSS - Programmation
Marsh Posté le 14-09-2003 à 17:08:53
Montres nous ce que tu as déjà fait, ou au moins une page d'exemple. Sinon, difficile de savoir où tu te gourres...
Marsh Posté le 14-09-2003 à 17:31:05
Pas faux ! Je vais donc copier/coller !
Je me suis attaqué bille en tête au problème du mouvement il y a quelques heures, et j'ai du rabaisser mes ambitions pour conserver ma santé mentale et mon PC intacts - j'ai perdu plusieurs heures avant de m'apercevoir qu'il était difficile d'extraire des attributs d'une feuille de style !
Le premier code extrait sans problème un attribut embarqué directement dans une balise.
test1.html :
Code :
|
Les codes suivants échouent, en revanche !
test2.html :
Code :
|
test3.html :
Code :
|
et sa CSS externe, test3.css :
Code :
|
Marsh Posté le 14-09-2003 à 18:08:43
Eh ben pour le moment, tu me poses une colle. Je ne comprends effectivement pas pourquoi ça ne marche pas. Je continue à chercher.
Marsh Posté le 14-09-2003 à 18:19:02
Merci pour tes efforts !
Perso, je trouve hallucinant que cela ne marche pas ! Le navigateur, que ce soit via une CSS interne, externe ou par l'attribut "style", reçoit bien les informations !
Pourquoi ne veut-il pas les fournir quand on les lui demande ???
A noter IE5 et Mozilla 1.4 réagissent pareil : c'est-à-dire mal !
Marsh Posté le 14-09-2003 à 18:20:50
Je crois que ce genre de manip ne fonctionne que si le style est déclaré directement dans la balise
Marsh Posté le 14-09-2003 à 18:43:37
Je confirme : c'est bien ce que j'ai observé ! Si je veux que ça marche, je code mes attributs en dur dans le fichier HTML...
Mais c'est franchement PORC, non ? Je but des CSS c'est quand même de séparer autant que faire se peut le fond de la forme !
Alors, que faire ???
Marsh Posté le 14-09-2003 à 18:50:14
Je crois que j'ai trouvé une piste sérieuse ici : http://www.oreillynet.com/lpt/a/3769
Ça m'a l'air d'être exactement ce qu'il me faut. Avis aux amateurs...
Marsh Posté le 14-09-2003 à 18:51:47
Oui, c'est "porc" comme tu le dis.
J'ai déjà vu ce problème sur ce forum... je ne crois pas qu'il ait été résolu
Marsh Posté le 14-09-2003 à 18:54:53
Le problème est résolu :
Code :
|
Marsh Posté le 14-09-2003 à 18:58:07
petit coup de pub habituel
http://www.magnin-sante.ch/journal [...] .php&id=87
Marsh Posté le 14-09-2003 à 19:17:55
Moi aussi j'ai finalement vaincu ! Je vous propose donc ma solution :
test3.html
Code :
|
et la feuille de style test3.css (no comment sur l'horreur, please !) :
Code :
|
Voili voilou, et merci à tous !
Marsh Posté le 14-09-2003 à 19:35:44
Pour fadenreturns :
je connais cette (ta) page, mais elle ne convient pas à mes besoins : les menus déroulants masquent le contenu de la page, hors je souhaite expliquer sur la page la fonction de chaque menu ! C'est pourquoi je n'ai pas été voir le source...
Tu y règles le problème que nous évoquions ???
Marsh Posté le 14-09-2003 à 20:10:45
Al Batar a écrit : Pour fadenreturns : |
Non pas du tout, j'avais pas lu . Tu me file l'adresse de ton truc quand c'est online ?
Marsh Posté le 14-09-2003 à 20:14:06
Quand ce sera fait, sans problème ! Mais je suis encore loin du compte, perdu dans les différences d'interprétation des CSS par IE et Mozilla (je m'intéresserai à Opera plus tard !), par exemple pour ce qui concerne les marges !
Marsh Posté le 14-09-2003 à 20:22:04
Pour Hermes le Messager (de Kro$oft, sans doute pastaper plizzz !) :
as-tu vérifié que ton script fonctionnait avec autre chose qu'IE ? Parce qu'avec mon Mozilla, ça ne donne rien, alors que mon script (enfin, celui que j'ai repompé sur le site d'O'Reilly), fonctionne...
Un grand merci, néanmoins !
Marsh Posté le 14-09-2003 à 20:29:32
Je comprend vraiment pas ce que tu veux faire au juste. Tu a pas un exemple ...
Tu veux faire un truc comme il y a sur le site de macomédia ?
Marsh Posté le 14-09-2003 à 20:35:13
Je connaissais pas leur site... Mais quelque chose comme ça, oui. En vertical, en plus ! Spa du tout cuit !!!
Marsh Posté le 14-09-2003 à 20:36:22
Comment ça en vertical ?
Je comprend de moins en moins ...
Marsh Posté le 14-09-2003 à 20:49:49
Tiens, quelque chose dans ce genre là - pas de sarcasme, c'est le tout début du commencement initial !
Code :
|
Voici la CSS temporaire :
Code :
|
Marsh Posté le 14-09-2003 à 20:57:43
Oublie, c'est completement inutilisable !!!
C'est hyper deroutant pour le mec qui navigue ...
sinon j'avais fait ça dans l'esprit mais il marche pas bien avec IE5 pour les macs
http://www.magnin-sante.ch/journal [...] ecial.htm#
Marsh Posté le 14-09-2003 à 21:47:07
Pourquoi inutilisable ? En mettant (tant pis mais bon...) une table dans chaque <div> permettant d'afficher des images pour matérialiser les bordures (avec effet 3D), j'obtiendrai sans doute un onglet-like convaincant...
Enfin, je crois !
Bref, de toute façon, je testerai à fond - quitte à jeter si ça ne convient pas !
Personnellement, je considère qu'un site Web et une application sont fondamentalement différents : autant un menu en cascade convient pour une appli, autant j'estime qu'il perturbe la lisibilité d'un site en masquant l'info.
Or, justement, un site est là pour communiquer l'info, alors qu'une appli est là pour construire et/ou ordonner l'info : ceci justifie à mon avis que l'info n'ait pas la même importance dans les deux cas...
Mais je suis peut-être complètement à côté de la plaque !
PS : pas mal du tout ton menu ! T'as pas l'air d'aimer, mais c'est à peu de chose près ce qu'il me faut ! Sauf que je veux que les menus se déplient au survol (pas un pb !), et en plus je veux qu'une description de ce que fait chaque menu et sous-menu s'affiche au "centre" de la page...
Marsh Posté le 14-09-2003 à 21:54:30
Ta solution de menu est très déroutante. Elle fonctionne assez bien car le contenu à chaque fois la même hauteur, mais essaie de mettre un contenu de hauteur variable dans le sous menu, je pense que ça va plus jouer...
Et les tables cest pas bien. En général on préfère utiliser des listes qui sont plus logique ( même si c'est un peu dur à utiliser ).
Pense aussi que 10% des gens n'ont pas javascript activé ...
Marsh Posté le 14-09-2003 à 22:02:11
fadenreturns a écrit : Ta solution de menu est très déroutante. Elle fonctionne assez bien car le contenu à chaque fois la même hauteur, mais essaie de mettre un contenu de hauteur variable dans le sous menu, je pense que ça va plus jouer... |
En fait, le plus gros défaut de mon essai, c'est que lorsqu'on passe d'un onglet déplié à un autre onglet non déplié, ce dernier "remonte" en même temps que le précédent se replie, ce qui fait que la souris se retrouve à survoler un sous-menu au lieu du "titre" de l'onglet qu'elle survolait initialement...
Et à moins de réussir à déplacer le pointeur de la souris en même temps que l'onglet remonte (je ne sais même pas si c'est possible, mais de toute façon, ce ne sont pas des manières !), je ne sais pas trop comment m'en sortir...
Vais peut-être mixer ton menu "spécial" avec une disposition "à la Macromédia"... Je ne veux vraiment pas des menus en cascade...
Marsh Posté le 14-09-2003 à 22:32:54
Je te conseil de mettre comme événement onclick plutot que onmouseover ...
Marsh Posté le 14-09-2003 à 22:58:00
Al Batar a écrit : Pour Hermes le Messager (de Kro$oft, sans doute pastaper plizzz !) : |
Pour Mozilla :
Code :
|
Marsh Posté le 14-09-2003 à 23:02:17
Par contre pour Opera 7, je ne vois pour le moment pas de solution...
Marsh Posté le 16-09-2003 à 10:59:06
J'avais déjà trouvé pour Mozilla (voir le copier/coller de mon script plus haut) ! C'était juste pour te taquiner, Hermes !
Grand merci pour tout, et tant pis pour Opera !
Marsh Posté le 14-09-2003 à 17:04:17
Hello !
Je débarque dans le monde du (X)HTML/CSS/JavaScript. Je me bricole un petit site, pour lequel je voudrais faire un menu latéral sous forme d'onglets mobiles (on survole un menu, les onglets inférieurs se décalent et laissent voir tous les sous-menus disponibles...)
J'ai remarqué que si les attributs de position sont stockés directement dans le code HTML de ma page de garde, il n'y a pas de problème pour qu'un petit JS récupère et incrément la valeur "top" de la quantité qui va bien.
En revanche, si la position est stockée dans une CSS, tant interne qu'externe, rien à faire, ça foire !!!
Comment faire ? Y'a-t-il une méthode permettant de parvenir à mes fins ? Et qui soit (au moins !) compatible Mozilla/IE ???
Merci !
PS : en cherchant, j'ai trouvé ce post, mais sans solution ! http://forum.hardware.fr/forum2.ph [...] subcat=389
Message édité par Al Batar le 14-09-2003 à 19:41:05