2012-08-07 90 views
5

我的代碼是這樣的:的jQuery的slideToggle()在FireFox不工作,工作在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> 

您可以迅速將產品添加到您的購物車像這樣https://muddydogcoffee.com/teas/176-organic-crimson-berry-fruit-tisane?device=iphone,並打算到購物車中測試自己這裏https://muddydogcoffee.com/shopping-cart

當您點擊「估計運費&稅收」時,它應該在其下方顯示DIV。但是,它只適用於Chrome而不適用於Firefox。我能做些什麼來解決這個問題?

謝謝。

回答

3

我以前有同樣的問題,我還沒有真正理解爲什麼它會發生,但我發現了一個解決方法吧。

我不確定它是否也適用於您,但我所做的是刪除了樣式表中的display:none,並且只是在html中添加了內聯。

如果任何人都可以解釋這種奇怪的行爲,但它確實會有所幫助。

+0

你真棒!我很高興爲此找到解決方案。當然,我也想知道原因。非常感謝。 – user1477388 2012-08-08 00:45:56

0

你試過

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

我只是去嘗試和,不,這是行不通的。 – user1477388 2012-08-08 00:12:00

+0

PS我沒有downvote你的文章 – user1477388 2013-10-25 17:47:14

2

添加event.preventDefault();event.stopPropagation();爲此適用於包括Firefox在內的所有瀏覽器。見下面摘錄:

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'); 
}); 
相關問題