У меня проблема, я не могу найти способ обойти ее.проблема с загрузкой изображений на setTimeout
Проблема заключается в том, что я загружаю изображения и некоторый текст через ajax-вызов, а затем через некоторое время снова пытаюсь вызвать функцию ajax, чтобы получить новый набор изображений и текста. Однако моя проблема заключается в том, что изображения не загружаются вовремя (все в порядке с текстовой загрузкой), они как бы прекращают загрузку, а затем следующий вызов ajax.
Есть ли способ обойти эту проблему?
Я был бы очень признателен за помощь от кого-то.
EDIT: Кажется, что setTimeout ("", 30000); работая с разной скоростью на firefox и IE. Есть ли способ, чтобы установить его на минуту, я попытался поставить его 60000, но получил те же результаты в плане того, как проходит время, пока он не звонит АЯКС ...
Вот мой код:
HTML
<asp:Panel ID="portfolio" runat="server" style="border:solid 1px black; height:300px; width:400px; display:none;">
<div id="div_before">
<img id="img_before" alt="" height="200" width="100" />
<span id="txt_before"></span>
</div>
<div id="div_after">
<img id="img_after" alt="" height="200" width="100" />
<span id="txt_after"></span>
</div>
</asp:Panel>
И мой JavaScript:
function getPortfolio() {
$.ajax({
type: "POST",
url: "Portfolio.aspx/GetImages",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
onCallBack(msg);
}
});
}
function onCallBack(msg) {
var result = msg.d;
if (result != null) {
var portfolio_div = $("div[id*='portfolio']");
$(portfolio_div).css({ 'display': 'block' });
var imgs = $(portfolio_div).find("img");
$("#img_before").attr({ src: "images/" + result.img_before.toString() });
$("#img_after").attr({ src: "images/" + result.img_after.toString() });
var txts = $(portfolio_div).find("span");
$(txts[0]).text(result.txt_before);
$(txts[1]).text(result.txt_after);
setTimeout("", 30000);
getPortfolio();
}
else {
$(portfolio_div).css({ 'display': 'none' });
}
}
Ваш совет относительно $ ("# img_after"). Load (function() действительно помог. Однако setTimeout (getPortfolio, ...) не помог мне (в начале что у меня было). – Dmitris