2012-08-07 6 views
5

Mein Code ist folgendes:jQuery SlideToggle() funktioniert nicht in FireFox, Arbeitet in Chrome

jQuery('.cart-module .cart-heading').bind('click', function() { 
    if (jQuery(this).hasClass('active')) { 
     jQuery(this).removeClass('active'); 
    } else { 
     jQuery(this).addClass('active'); 
    } 

    jQuery(this).parent().find('.cart-content').slideToggle('slow'); 
}); 
//--></script> 

Sie können es selbst testen, indem Sie schnell einen Artikel in den Warenkorb legen, wie diese https://muddydogcoffee.com/teas/176-organic-crimson-berry-fruit-tisane?device=iphone und gehen in den Warenkorb legen hier https://muddydogcoffee.com/shopping-cart.

Wenn Sie auf "Schätzung Versand & Steuern" klicken, sollte darunter das DIV angezeigt werden. Es funktioniert jedoch nur in Chrome und nicht in Firefox. Was kann ich tun, um das zu beheben?

Danke.

Antwort

3

ich vor das gleiche Problem hatte, habe ich nicht wirklich verstanden, warum es passiert, aber ich fand es eine Abhilfe.

Ich bin mir nicht sicher, ob es auch für Sie funktioniert, aber was ich getan habe, ist die Anzeige entfernt: keine im Stylesheet und nur inline in den HTML-Code hinzugefügt.

Wenn jemand das seltsame Verhalten erklären könnte, wird es wirklich hilfreich sein.

+0

Du bist ein toller Mann! Ich bin so froh, eine Lösung dafür zu finden. Ich möchte natürlich auch den Grund wissen. Vielen Dank. – user1477388

0

Haben Sie versucht:

$(document).ready(function() { 
    // put all your jQuery goodness in here. 
}); 
+0

Ich habe es gerade versucht und, nein, es funktioniert nicht. – user1477388

+0

PS Ich habe deinen Post nicht abgelehnt – user1477388

2

Fügen Sie event.preventDefault(); und event.stopPropagation(); hinzu, damit dies in allen Browsern einschließlich Firefox funktioniert. Siehe Snippet unten:

jQuery('.cart-module .cart-heading').bind('click', function(e) { 
    e.preventDefault(); 
    e.stopPropagation(); 
    if (jQuery(this).hasClass('active')) { 
     jQuery(this).removeClass('active'); 
    } else { 
     jQuery(this).addClass('active'); 
    } 
jQuery(this).parent().find('.cart-content').slideToggle('slow'); 
}); 
Verwandte Themen