1
在IE6和IE5.5中,我在頁面中看到了一個非常有趣的行爲。我有一個腳本(如果你知道的話可以選擇超級腳本),這樣可以在處理IE6和IE5.5時使PNG恢復業務。在執行此過程中,我想將背景更改爲使用資源管理器Alpha過濾器(如果啓用了Javascript,請使用過濾器,否則堅持爲純白色)。Javascript if if拒絕從外部腳本正確加載IE6 IE5.5
我通過這樣做:
if(document.getElementById('transparency') != null)
document.getElementById('transparency').style.filter= "alpha(opacity=60)";
...透明度問題的對象的ID。
把這個放在HTML頁面的末尾(或者'透明'被啓動後的任何地方)導致腳本工作。將它放在外部腳本的最後(延遲)會導致過濾器不被應用。
但是,當我刪除if語句,並告訴瀏覽器使用它的過濾器的作品(但只有少數頁面已獲得'透明度'ID)。
我試圖通過使用警告框不同地應用if語句,並嘗試使用!= null
和== null
,我什麼都沒有。
這讓我很好奇,所以我測試了這一點:
var tt = 5;
if(tt == 5)document.getElementById('transparency').style.filter= "alpha(opacity=60)";
與錯誤屏幕說
TT給了一個更奇怪的結果是不確定的
所有這一切在IE 7及以上版本中運行完美...
我意識到這真的是兩個不同的問題,但仍然... 任何人都可以給我一個線索,瞭解發生了什麼?
@no謝謝!!!工作完美,但我仍然很好奇,爲什麼和如何?你願意給我一個簡短的解釋嗎? :) 謝謝!! – 2010-09-07 20:29:12
@no是兩個都很好..再次感謝!真的很想聽聽爲什麼雖然......不能真正做到這一點:( – 2010-09-07 20:39:16
我很想解釋它,但我真的不知道爲什麼他們工作...或者,我應該說,我不'我知道爲什麼你發佈的代碼失敗了,我只是按照我平常寫的方式重寫了你的代碼,希望(並且有些期待)它會起作用。如果其他人能夠聽到解釋,我也會很感興趣給一個 – 2010-09-07 21:47:42