簡體   English   中英

Javascript if語句拒絕從外部腳本IE6 IE5.5正確加載

[英]Javascript if statement refuse to load correctly from exterior script IE6 IE5.5

當我談到IE6和IE5.5時,在頁面上看到一個非常有趣的行為。 我有一個腳本(如果知道的話,它是超巧的),可以在處理IE6和IE5.5時使PNG重新投入使用。 在執行此操作期間,我想使用Explorer Explorer濾鏡更改背景(如果已打開Javascript,請使用濾鏡,否則請堅持純白色)。

我這樣做是:

if(document.getElementById('transparency') != null)
          document.getElementById('transparency').style.filter= "alpha(opacity=60)";

...透明度是相關對象的ID。

將其放在HTML頁面的末尾(或“透明性”啟動后的任何位置)可導致腳本正常工作。 但是,將其放在外部腳本的最末尾(遞延)會導致未應用過濾器。

但是,當我刪除if語句並僅告訴瀏覽器使用過濾器時,它就可以工作(但是只有少數頁面具有“透明” ID)。

我試圖通過使用警報框並嘗試!= null== null來不同地應用if語句,但我什么也沒得到。

這讓我很好奇,因此我對此進行了測試:

var tt = 5;
if(tt == 5)document.getElementById('transparency').style.filter= "alpha(opacity=60)";

錯誤屏幕顯示了一個甚至更陌生的結果

tt未定義

所有這些都可以在IE 7及更高版本中完美運行...

我意識到這確實是兩個不同的問題,但仍然...誰能給我一個有關發生了什么的線索?

這樣行嗎?

var t = document.getElementById('transparency');
if (t && t.style) t.style.filter="alpha(opacity=60)";

這個怎么樣?

try {
  document.getElementById('transparency').style.filter= "alpha(opacity=60)";
} catch (e) { }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM