JQuery + IE выпуск - PullRequest
       1

JQuery + IE выпуск

0 голосов
/ 21 сентября 2011

Я создал этот веб-сайт в значительной степени опираясь на JQuery, и столкнулся с проблемой с IE.

При нажатии этого значка:

enter image description here

Там есть пользовательский лайтбокс, который загружается и загружает фрейм, содержащий форму.Он отлично работает в Chrome / FF, но в IE он говорит, что есть ошибка:

enter image description here

Я специально использовал не минимизированную версию JQuery для разработки, которая являетсярассматриваемая строка кода, которая выглядит так:

fx.elem.style[ fx.prop ] = (fx.prop === "width" || fx.prop === "height" ? Math.max(0, fx.now) : fx.now) + fx.unit;

Кроме того, вот что я написал для создания эффекта лайтбокса:

function popup(url, width, height)
{
    var shell = $('<div id="popup-shell"></div>');
    shell.append('<div style="margin-top: -' + height + 'px; width: ' + width + 'px; height: ' + height + 'px;" id="popup-inner"></div>');

    var inner = shell.find("div#popup-inner");

    var cb = $('<a style="margin-left: ' + Number(width - 26) + 'px;" id="popup-close"></a>');

    inner.append(cb);
    inner.append('<iframe width="' + width + '" height="' + height + '" src="' + url + '" scrolling="no" frameborder="0"></iframe>');

    cb.click(function()
    {
        shell.stop().animate({height: "0%"}, 700, 0, function()
        {
            shell.remove();
        });
    });

    shell.animate({height: "100%"}, 700, 0, function()
    {
        inner.animate({marginTop: "120px"}, 700);
    });

    $("body").append(shell);
}

Если это известная проблема, любые предложения или решения будут хороши.

1 Ответ

1 голос
/ 21 сентября 2011

Сначала добавьте объект оболочки к телу

$("body").append(shell);

, затем добавьте скрипт анимации

shell.animate({height: "100%"}, 700, 0, function()
    {
        inner.animate({marginTop: "120px"}, 700);
    });

Это должно решить вашу проблему.Я тестировал его в режиме консоли IE, и он работал

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