2011-04-15 214 views
0

當前編碼一個配合組合,而不是我的驚訝代碼沒有在IE中加載!jQuery不在IE中工作,在其他瀏覽器中工作

我使用的是標準的AJAX編碼它,這裏的相關的jQuery:

//ajax shtuff 

$(window).load(function() { 

    // Ajax Cache! 
    $.ajaxSetup ({ 
     cache: false 
    }); 

    var $loadW = '<div id="whiteLoader" />'; 
    var $loadurl = $('.current').attr('href'); 

    // Initial Page Load 
    $('#con').prepend($loadW); 
    $('#main').fadeOut('slow', function() { 
     $(this).load($loadurl + ' .page', function() { 
      $(this).parent().find('#whiteLoader').fadeOut('slow', function() { 
       $(this).parent().find('#main').fadeIn('slow').css({background: 'red'}); 
       $(this).remove(); 
      }); 
     }); 
    }); 

    $('nav ul li a').each(function() { 
     $(this).click(function(e) { 

      var $loadW = '<div id="whiteLoader" />'; 
      var $loadurl = $(this).attr('href'); 

      // Prevent default hotlink 
      e.preventDefault(); 

      // Add the current state 
      $('*').removeClass('current'); 
      $(this).addClass('current'); 

      // Load the Page 
      $('#main').fadeOut('slow', function() { 
       $('#con').prepend($loadW); 
       $('#main').load($loadurl + ' #main', function() { 
        $('#whiteLoader').fadeOut('slow', function() { 
         $('#main').fadeIn('slow'); 
         $(this).remove(); 
        }); 
       }); 
      }); 

     }); 
    }); 

}); 

從字面上看不知道爲什麼,這並不工作笑,下面是活頁的鏈接(我已經把背景紅色只是爲了向您顯示該區域。)

此外,原始頁面使用'this'方法的原因是因爲我正在測試它兩種方式。

http://212.7.200.35/~tfbox/zee/

+0

你有幾個ID爲`#main`的元素嗎? – 2011-04-15 17:52:59

+0

@Felix - 這是我認爲的第一件事,所以我改變了這一點,仍然沒有運氣。如果你在頁面加載時注意到它會加載相關的URL +類'頁' – daryl 2011-04-15 17:58:04

+0

@tfbox:這不是問題,但你可以寫`$('#main')。fadeIn()`而不是`$(this ).parent()。find('#main')。fadeIn()` – 2011-04-15 18:00:54

回答

1

通常,IE在設計/選擇任何新的HTML5元素(例如sectionnav)時遇到困難。嘗試使用類似this或只是使用div

3

你試過

$(document).ready(function() { 
    // Stuff to do as soon as the DOM is ready; 
}); 

代替window.load?

相關問題