Сделайте что-нибудь, когда $ .get будет полностью завершен - PullRequest
0 голосов
/ 05 июля 2011

У меня проблема.Я хочу сделать что-нибудь, когда мой GET будет полностью завершен, потому что мне нужно поместить BG посередине.Эта функция полностью работает с изменением размера, но она не будет работать, когда я загружаю изображение в клик.Есть ли способ избежать этого?

Пример:

getBG.php возвращает <img id="bgImage" src="123.jpg" />

Проблема:

Она не будет правильно вычислять переменную a потому что я думаю, что он пытается сделать это до того, как изображение будет загружено.Он прекрасно работает при событии onResize, когда изображение полностью загружено.

$.get("getBg.php", {
            img: (this).id
        },
        function(data){
            $("#bg").html(data);
            var a = $("#bgImage").height() - $(window).height();
            $("#bgImage").css("margin-top", - a / 2);
        });

Ответы [ 2 ]

1 голос
/ 05 июля 2011

Вам нужно напрямую подключить событие загрузки нового изображения. Я предполагаю, что элементом #bgImage является изображение, это, вероятно, то, что вы хотите.

$.get("getBg.php", {
            img: (this).id
        },
        function(data){
            $("#bg").html(data);
            $("#bgImage").load( function() {
                var a = $(this).height() - $(window).height();
                $(this).css("margin-top", - a / 2);
            }
        });
0 голосов
/ 05 июля 2011

Вам нужно будет использовать setTimeout для цикла, пока $("#bgImage").height() не станет больше нуля.

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