2010-09-02 7 views
2

Je suis coincé sur un problème très étrange, et je ne peux pas comprendre ce qui se passe ... Malheureusement, je ne peux pas exactement un lien vers la page en question, comme est en cours de développement interne, mais le problème est la suivante:Chrome: affichage: bizarreries en ligne ...

je avec 3 liens - A, B et C. Chacun de ces liens vers des fichiers générés dynamiquement, et il peut facilement prendre plusieurs secondes pour que ces fichiers Être créé. Nous mettons donc la fonctionnalité pour générer ces fichiers sur des pages séparées. A, B et C demandent la page correspondante; Lorsque la page a généré le fichier désiré, il répond avec le nom de fichier que l'utilisateur télécharge ensuite. Jusqu'à présent, tout va bien - tout cela fonctionne.

Pour indiquer visuellement l'activité, nous montrons/cachons un petit gif lorsque ces opérations sont démarrées/arrêtées. (A, B et C ont chacun leur propre icône). Ils sont activés via:

.getElementById().style.display = 'inline'; 

et désactivé via:

.getElementById().style.display = 'none'; 

Cela fonctionne parfaitement pour B et C --- mais pas pour un! Je sais qu'il trouve l'image pour l'activer correctement (via alertes() et ce qui deviendra clair dans une seconde), et je sais que le style est aussi bien défini (pour les mêmes raisons), mais le gif ne le fait pas. t montrer. En outre, cela se produit uniquement dans Chrome - à la fois Firefox et IE montre l'icône très bien. Et, plus que cela - si j'utilise

.getElementById().style.display = 'block'; 

plutôt que

.getElementById().style.display = 'inline'; 

Chrome montre l'image aussi bien! Je ne veux pas utiliser le bloc car il déplace le gif sur une ligne qui est moche, mais au moins cela démontre que j'ai la bonne image et ainsi de suite. Et, de plus, si je ne change pas l'affichage via JS mais crée simplement le gif avec l'affichage: inline (plutôt que l'affichage actuel: aucun) il se montre très bien dans Chrome. Tout cela me fait penser JS + Chrome est en quelque sorte le problème --- mais je ne suis pas sûr. :/

Oh, et un peu plus de bizarrerie - si je clique sur A, rien ne se passe. Si je clique alors sur B, alors le gif apparait! Dans l'ensemble, je n'ai aucune idée de ce qui se passe, mais j'espère que quelqu'un ici pourra m'éclairer!

Merci d'avance!

EDIT: J'ai mis le code exemple sur http://jsbin.com/uzosu3/edit

+0

Hmm. Vous pourriez vouloir fournir un peu plus de code que cela - par exemple. le HTML actuel avec lequel le JavaScript fonctionne. :) Cela pourrait aider les autres à diagnostiquer le problème. – pinkgothic

+0

Pouvez-vous poster le xhtml rendu à http://jsbin.com ou http://jsfiddle.net, sinon nous faisons des suppositions en grande partie dans le noir. –

+0

Désolé de ne pas l'inclure en premier lieu, mais honnêtement, je ne pensais pas que tout code ferait beaucoup de bien ... Quoi qu'il en soit, j'ai collé les choses sur http://jsbin.com/uzosu3/edit - J'ai légèrement modifié le HTML pour supprimer tout ce qui pourrait être sensible à la personne, mais tous les éléments majeurs (à l'exclusion des images réelles ... :) sont là. Lien A est le lien avec le gif avec id = "TGif", B est celui ci-dessous et puis C ... Merci à l'avance :) – Fafnr

Répondre

-1

Si vous ne souhaitez pas utiliser le bloc, car il pousse l'image vers le bas une ligne.

Essayez d'utiliser

.getElementById().style.display = 'inline-block'; 

pouvez vérifier dans les navigateurs IE bien.

+0

Thanls pour le conseil, mais cela affiche le même comportement étrange de ne pas se pointer :/ – Fafnr