11
votes

Jquery .Show () ne fonctionne pas dans Firefox

J'ai un problème avec la fonction JQuery Show de Firefox.

Situation: J'ai chargé une iframe avec une page ASPX dans une popup (FANCYBOX). Dans cette page ASPX, j'ai un bouton avec un événement OnClick qui appelle une fonction personnalisée et dans cette fonction, il incendie la fonction .Show () sur un div. Cette div a un élément de style qui contient: Affichage: Aucun;. P>

Cela fonctionne dans IE, Safari, Chrome. Cela fonctionne même dans Firefox lorsque je charge la page ASPX autonome. Cela ne fonctionne pas dans Firefox dans la popup FancyBox-Iframe. Je n'ai aucune erreur JavaScript. Même l'affichage: Aucun n'est supprimé de l'attribut de style, mais la div ne montre pas. P>

Le HTML de la page P>

function dolinkedin(url, title, summary, source) {
        $(".smbutton").addClass("buttonDisabled");
        $("#linklinkedin").removeClass("buttonDisabled");
        $("#psharebutton").show();

        parent.sizeFancybox();
    }


2 commentaires

avez-vous essayé $ ("# psharebutton"). Basculer (); ?


Je n'ai plus le code te reproduce :( désolé pour ça


4 Réponses :


1
votes

juste écrire comme $ ("# psharebutton"). Attr ("Affichage ',' ') ou $ (" # PSharebutton "). ATTRO (" Affichage "," Block ").

function dolinkedin(url, title, summary, source) {
        $(".smbutton").addClass("buttonDisabled");
        $("#linklinkedin").removeClass("buttonDisabled");
        $("#psharebutton").attr('display','');

        parent.sizeFancybox();
    }


1 commentaires

Voir mon commentaire à Kirk :)



10
votes

J'ai eu un problème similaire et ma solution était de faire xxx

au lieu de xxx

une jQuery "spectacle" est identique à Réglage de l'attribut de style d'affichage sur "Bloc". J'ai trouvé que j'avais besoin de "Inline-Block" pour Firefox et Chrome (je n'avais pas besoin de cela pour IE). Je crois (mais n'a pas confirmé) que JQuery est suffisamment intelligente pour savoir quelle est la valeur d'affichage précédente et l'utiliser, mais dans mon cas, j'ai commencé avec l'affichage défini sur "Aucun", il n'y avait donc aucune valeur précédente.


1 commentaires

Votre réponse et la réponse de DJ étaient probablement la solution, malheureusement, je ne peux plus la reproduire, mais après avoir vu un comportement similaire, je cesse d'être sûr que c'était bien le cas. J'ai élu vos deux réponses.



1
votes

J'ai eu un problème similaire. J'ai mis ceci dans mon CSS: xxx pré>

et essayé de changer ceci en jQuery: p> xxx pré>

qui n'a pas fonctionné à Firefox.

après avoir changé le HTML sur P>

<body style="display: none">


1 commentaires

Merci pour votre réponse, c'est probablement utile pour les autres :)



0
votes

Il peut s'agir d'un effet secondaire d'une erreur JS. Il vaut toujours la peine de frapper F12 et de voir s'il y a des erreurs JS dans la console. J'ai eu un problème similaire où je ne pouvais pas comprendre pourquoi .Show () ne fonctionnait pas sur une contribution qui avait un style d'affichage: None 'dans Firefox et il s'est avéré que j'avais un sélecteur mal formé qui manquait Fermeture] et jeté une erreur que vous ne voyez pas, jusqu'à ce que vous ouvrez Firebug. Chrome était plus tolérante montrait le bouton tandis que Firefox a attrapé le mauvais sélecteur.


0 commentaires