|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
Bonjour,
j'ai du mal à expliquer mon problème : il concerne le comportement d'un select à chaque fois qu'on sélectionne un item : après chaque sélection, le select se retrouve plus bas dans la page. Pour observer ce problème de comportement, allez là et sélectionnez un des 3 fichiers. Sauriez-vous résoudre ce problème ? Comme le bug est sûrement dans le code de création du DOM, le voici : Code javascript :
|
||
|
|
00
|
|
|
#2 | ||
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
Le problème est que tu recréé une balise "a" a chaque fois.
En fait tu n'as pas vraiment besoin de tes deux div(fille et parent), et le seul élément que tu as besoin de récupérer dans "action1", c'est cette balise "a"... Du coup tu te retrouve à chaque fois avec un lien supplémentaire dans ta div "idfille", par exemple(après trois sélections) : Code :
Si tu utilisais les outils de développement tu pourrais le voir !...
|
||
|
|
00
|
|
|
#3 | |
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
Citation:
Je vais te dire l'idée que j'ai et tu me dis ce que tu en penses : je crée le lien une seule fois (quand j'initialise le DOM), puis à l'appel de la fonction action1, je ne modifie que le lien : Code :
document.getElementById("player").href = sFileName; |
|
|
|
00
|
|
|
#4 |
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
Oui c'est ce que j'avais fait et je pense que c'est ce qu'il faut faire.
|
|
|
00
|
|
|
#5 |
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
Je viens d'essayer sans avoir vu que tu avais répondu et c'est une super idée
A+ (et encore merci pour le code que tu as fait, et qui m'a permis d'apprendre plein de trucs (sinon, il m'aurait été impossible de faire çà (l'URL, c'est car je squatte l'espace internet de mon club handisport (dont je suis le webmaster)))) |
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : janvier 2011 Messages : 2 933 ![]() |
Bonsoir,
quel est l'intérêt de créer le document à coup de createElement et non en balisage direct, pour l'apprentissage... ...dans ce cas ne pas oublier qu'il existe également, les méthodes insertRow, insertCell pour la construction des tables |
|
|
00
|
|
|
#7 |
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
@NoSmoking
En fait, la création en DOM est nécessaire parce que la page sur laquelle est utilisé le code n'est pas maitrisée du côté serveur et les balises ne doivent être présente que si une condition est vérifiée en javascript. Le lien au-dessus n'est qu'une page d'exemple pour ce script qui sera intégré dans un intranet pour lequel laurentSc ne peut faire que du html et javascript, enfin si j'ai bien compris...! La table html n'est pas nécessaire je crois. (encore une mauvaise habitude de laurenSc je crois : faire la mise en page avec des tableaux) |
|
|
00
|
|
|
#8 | |
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
Citation:
![]() Et sinon, qu'est-ce qui serait mieux ? Avec des div ? |
|
|
|
00
|
|
|
#9 |
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
Les deux
!Plus sérieusement, on utilise plus la mise en page avec des tableaux depuis que le css et les div permettent de le faire dans tout les navigateurs... On réserve normalement les tableaux a la présentation de données tabulaire. Cela dit, c'est vrai que ça reste pratique pour faire un alignement vertical et horizontal cross-browser(ie7...). Dans tout les cas, le dom que tu utilise est inutilement chargé, puisque tu utilise à la fois des div et des tableaux ! |
|
|
00
|
|
|
#10 | ||
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
J'ai essayé de faire une mise en page sans tableau, mais la div fille se met en-dessous de la div parent : mon problème. Qu'est-ce qu'il faut changer :
Code :
|
||
|
|
00
|
|
|
#11 | ||||
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
La propriété css float est l'un des seules dont le nom n'est pas le même en Javascript...
Code :
Code :
|
||||
|
|
00
|
|
|
#12 |
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
Merci, et j'ai adopté la condition ternaire.
|
|
|
00
|
|
|
#13 |
![]() ![]() Inscription : janvier 2011 Messages : 2 933 ![]() |
encore une question, pourquoi ne pas passer par des class pour tout ce qui concerne le STYLE
|
|
|
00
|
|
|
#14 | ||
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
peux-tu traiter un exemple pour je comprenne mieux l'idée ? Que deviendrait par exemple ceci :
Code :
|
||
|
|
00
|
|
|
#15 | ||
![]() ![]() Inscription : janvier 2011 Messages : 2 933 ![]() |
Petit exemple à tester
Code :
|
||
|
|
00
|
|
|
#16 | ||||
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
Code :
mais là pas besoin puisque l'élément à un id. donc ça donnerait une règle CSS de ce type : Code css :
Bien vu NoSmoking !
|
||||
|
|
00
|
|
|
#17 | ||
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
OK, mais ce qui est évident pour vous ne l'est pas pour moi. Voilà ce que j'ai essayé, mais ça ne marche pas :
Code :
|
||
|
|
00
|
|
|
#18 | |||||||
![]() ![]() Inscription : janvier 2011 Messages : 2 933 ![]() |
Citation:
Code css :
exemple Code :
<div id="id_element">Le texte de la DIV</div> Code css :
exemple Code :
<div class="class_element">Le texte de la DIV</div> |
|||||||
|
|
00
|
|
|
#19 |
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
La mention "débutant" dans ma carte de visite est bien justifiée...Et en plus, je le savais...Merci quand même
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com