JQuery загрузки для загрузки содержимого в первую очередь - PullRequest
0 голосов
/ 16 августа 2010

это странный случай, у меня есть скрипт jquery, который работает с load (), и скрипт PHP с загрузчиком gif, пока этот скрипт не будет извлечен FADING IN , этот jquery запускается при нажатии

Проблема в том, что сценарий jquery бесполезен для настоящего намерения, потому что этот php-скрипт, который я вызываю, возвращает что-то вроде

<img src="resizer.php=filename=/img/1.jpg&width=400" />

, где 1.jpg (имя файла) извлекаетсястраница PHP, вызванная в ajax из db, относящаяся к идентификатору изображения, прошедшего через load ()

, поэтому, когда HTML-текст исчезает в изображении, его все равно нужно будет загрузить из ресайзера.php, таким образом, он будет выглядеть нормально

Как я могу организовать это, чтобы исчезать, как только все будет загружено?Я не могу вызвать resizer.php напрямую, потому что он выводит заголовок JPEG

Ответы [ 3 ]

1 голос
/ 16 августа 2010
var img = new Image();
img.onload = function() { /* CALLBACK GOES HERE */ }
img.src = "resizer.php=filename=/img/1.jpg&width=400";

Если у вас нет контроля над страницей, выводящей тег <img>, вы можете извлечь источник с помощью регулярного выражения или с помощью анализатора DOM.

0 голосов
/ 16 августа 2010

Добавление другого ответа. В вашем случае вы хотите получить результат скрипта php, поэтому вы захотите использовать функцию jjuery ajax с использованием метода get или post. Пример:

$.get("file.php", function(data){ alert("Data Loaded: " + data); });

Появится окно с предупреждением «Данные загружены: независимо от того, что php возвращает »

Так что в вашем случае вы бы сделали:

$.get("resizer.php", function(data){ $('#loadID').html(data) });

Опять же, я не понимаю, на 100% извините, если это не то, что вы ищете.

0 голосов
/ 16 августа 2010

Я не уверен, правильно ли я понимаю, но если вы делаете что-то вроде этого:

$document.ready(function() {

$('#loadID').load("resizer.php=filename=/img/1.jpg&width=400", function(){

$('#loadID').fadeIn('slow');    

});

});

FadeIn не будет запущен, пока "resizer.php = filename = / img / 1.jpg & width = 400" не будет полностью загружен.

Надеюсь, это поможет.

edit: исправлен селектор (fadeIn)

loadID будет идентификатором, в который вы загружаете.

...