2011-06-18 76 views
0

我正在使用ajax加載程序。加載時出現的圖像沒有顯示在IE7中,但它在IE 8和FF中正常工作。 我用下面的jQuery的裝載機: -Ajax Loader IE 7 - 未顯示

initLoader(); 

function initLoader() 
{ 
    //Get the A tag 
    var id = $('#dialogLoader'); 

    //Get the screen height and width 
    var maskHeight = $(document).height(); 
    var maskWidth = $(window).width(); 

    //Set height and width to mask to fill up the whole screen 
    $('#mask').css({ 'width': maskWidth, 'height': maskHeight }); 

    //Get the window height and width 
    var winH = $(window).height(); 
    var winW = $(window).width(); 

    //Set the popup window to center 
    $(id).css('top', winH/2 - $(id).height()/2); 
    $(id).css('left', winW/2 - $(id).width()/2); 
} 

function showLoader() 
{ 
    //transition effect  
    $('#mask').show(); 
    $('#dialogLoader').show(); 
} 

function hideLoader() { 
    $('#mask').hide(); 
    $('#dialogLoader').hide(); 
    $('.window').hide(); 
} 

//To Start and hide loader 
$("#mask").bind("ajaxStart", function() { 
    //alert('start'); 
    showLoader(); 
}).bind("ajaxStop", function() { 
    //alert('end'); 
    hideLoader(); 
}); 

這裏是CSS: -

/* Loader CSS start */ 
#mask 
{ 
    position: absolute; 
    left: 0; 
    top: 0; 
    z-index: 9000; 
    opacity: 0.4; 
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; /* first!*/ 
    filter: alpha(opacity=40); /* second!*/ 
    background-color: gray; 
    display: none; 
} 

#boxes .window 
{ 
    position: absolute; 
    left: 0; 
    top: 0; 
    width: 440px; 
    height: 200px; 
    display: none; 
    z-index: 9999; 
    padding: 20px; 
} 

#boxes #dialogLoader 
{ 
    width: 70px; 
    height: 60px; 
    padding: 20px; 
    text-align: center; 
    background-color: #ffffff; 
    border-radius: 20px; 
    -moz-border-radius: 20px; 
    font-size: 0.9em; 
    font-family: Arial; 
} 
/* Loader CSS End */ 

正在顯示的掩碼窗口得到變灰,但加載圖像不顯示PLZ讓我知道如何可以爲IE 7工作。 謝謝!

+0

我懷疑問題出在CSS中。你可以發佈#dialogLoader的CSS屬性嗎? – Emil

+0

我會開始通過改變'ID'到一個不同的名字,甚至是'_id',我花了幾個小時一次,事實證明IE是返回一個引用窗口屬性或類似的東西 –

回答

0

我編輯了你發佈的代碼。

當你的代碼最初發布這一行:

//To Start and hide loader $("#mask").bind("ajaxStart", function() { 

是如我上面。

這是代碼,它不會編譯,因爲它註釋了本聲明的開始。

這只是一個錯字,當你在這裏複製或者是這個問題。

可能是<CR><LF>有問題。

我會確保他們是正確的,並嘗試。

+0

我在問題中添加了Css請查看它。 – user655336

+0

抱歉,它可能在複製時發表評論,但未在代碼中註釋。 – user655336

+0

什麼是? – user655336

0

我的猜測:它不喜歡,你有一個類名.window,在這裏引用:

$('.window').hide(); 

或者說,最可能的是,因爲變量的命名id,IE 因爲它引用別的東西...我試圖找到更多的信息,但它給了我相似的麻煩。

編輯:我可能完全偏離了我的上述評論,它只是花了兩天時間來調試一個AJAX請求,因爲IE是它唯一沒有打得好的瀏覽器,我已經變得有點偏執了當它惹惱IE。

關於剛剛發佈的CSS,我強烈建議使用jQuery來設置不透明度,它大多是跨瀏覽器兼容的,CSS就不是。

+0

請你詳細說明我無法理解。 – user655336

+0

這可能不是問題,但上次我在'IE'中遇到了問題,這是因爲我有一個名爲'id'的變量。 「IE」引用它作爲別的東西,當它到達我的服務器時,它是一個非常奇怪的長字符串。只要我將名稱改爲別的東西,這個問題就解決了。 –

+0

我修改了類窗口來loadwin和變量id來撥號,但我無法看到任何區別。 – user655336