2012-08-11 60 views
1

我使用簡單的Javascript代碼可以在Firefox中運行,而不是在Chrome中運行。JQuery不適用於Chrome,但Firefox可以正常使用

這裏是我的功能

function ToggleArrow(id1, id2) 
{ 
    var display = window.getComputedStyle(id1).getPropertyValue('display'); 

    if (display=="none") { 
     $(id2).fadeToggle(100, function(){$(id1).fadeToggle(100);}); 
    } else { 
     $(id1).fadeToggle(100, function(){$(id2).fadeToggle(100);}); 
    } 
} 

鉻實際上沒有經過連第一行。

+2

你有一個jsfiddle或等價物,所以我們可以看到嗎? – 2012-08-11 21:50:50

+0

不,它是一個動態內容,但我可以在jsfiddle中複製它。同時,有什麼想法可能會出現問題的Chrome? – Mamadum 2012-08-11 21:58:34

+0

爲什麼不使用jQuery'$(id1).css(display);'獲取顯示屬性? – 2012-08-11 22:29:40

回答

1

由於您使用jQuery你可以使用.is(':visible')

function ToggleArrow(id1, id2) 
{ 
    if (!$(id1).is(':visible')) // If not visible 
     $(id2).fadeToggle(100, function(){$(id1).fadeToggle(100);}); 
    else 
     $(id1).fadeToggle(100, function(){$(id2).fadeToggle(100);}); 
} 

Simple DEMO

+0

感謝,很高興知道,我嘗試過了,但是再一次,在FF中像魅力一樣工作,但Chrome只是無視它。當我刪除函數的內容並執行sipmle alert(「here」)時,我也在chrome中得到響應,但jquery完全沒有在chrome中工作。 – Mamadum 2012-08-11 22:11:38

+0

你可以在這裏發佈你的'html',id1和id2的元素,還是製作一個[jsFiddle](http://jsfiddle.net/)? – 2012-08-11 22:13:16

+1

問題解決了。 id1和id2是圖像標籤,我把它們放在div封裝中,現在它也在chrome中工作。 – Mamadum 2012-08-11 22:42:08

相關問題