2010-10-22 49 views
0

只有IE瀏覽器的bug ...去身影......擴展JQuery的 - IE僅錯誤 - 對象不支持此屬性或方法

我得到我這樣做時,對象不支持此屬性或方法。 ..

$('#the-content').showAsModal({ 
    'leftPosition': 100, 
    'topPosition': 200, 
    'centerX': true 
}); 

我擴展jQuery的是這樣的...

(function ($) { 
    $.fn.showAsModal = function (options) { 
     var settings = $.extend({ 
      'leftPosition': 0, 
      'topPosition': 0, 
      'transition': 'none', 
      'transitionSpeed': 500, 
      'zIndex': 9001, 
      'centerX': false, 
      'centerY': false 
     }, options || {}); 

     return this.each(function() { 
      var self = $(this) 
      if (settings.centerY) settings.y = Math.floor((($(document).height() - self.height())/2); 
      if (settings.centerX) settings.x = Math.floor(($(document).width() - self.width())/2); 

      self.css({ 'position': 'absolute', 'top': settings.y + "px", 'left': settings.x + "px", 'z-index': settings.zIndex }); 

      if (self.parent('.modal-container').length <= 0) 
       self.wrap("<div style=\"display:none;\" class=\"modal-container\"></div>"); 
      if (self.siblings('.modal-mask').length <= 0) 
       self.parent().append("<div style=\"width:" + $(document).width() + "px;height:" + $(document).height() + "px;\" class=\"modal-mask\"></div>"); 
      self.parent().show().end(); 
     }); 
    }; 

    $.say = function() { 

    }; 
})(jQuery); 

林進口的JQuery然後用上面的代碼只在它的文件。

這對firefox很有用。

讓我們開始阻止來自我們網站使用IE的人。如果我們都這麼做......

回答

1

你在代碼裏面有一個語法錯誤,因此你的代碼在任何瀏覽器中都不起作用。

if (settings.centerY) settings.y = Math.floor((($(document).height() - self.height())/2); 

其中3架下面Math.floor的實在是太多了

+0

哇 - 它很明顯,當我現在讀的問題..回奇怪的是,這是在FF工作。一定是緩存什麼的。 – Jason 2010-10-24 17:31:09

相關問題