Расширение JQuery - IE Error Only - Object не поддерживает это свойство или метод - PullRequest
0 голосов
/ 23 октября 2010

IE only bug ... go figure ...

Я получаю Object не поддерживает это свойство или метод, когда я делаю это ...

$('#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 Ответ

1 голос
/ 23 октября 2010

У вас есть синтаксическая ошибка внутри кода, при этом ваш код не работает ни в одном браузере.

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

Один из 3 скобок после Math.floor - это слишком много

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...