2013-12-24 6 views
0

У меня есть iframe на моей странице, и я меняю свой атрибут src с помощью jquery, проблема в том, что я хочу подождать, пока загрузится iframe, тогда мне нужно вызвать некоторые другие функции. Вот мой код:Подождите, пока функция jquery завершится

HTML:

<div id="content"> 
    <iframe name="mainFrame" id="mainFrame" frameborder="0" scrolling="no" 
      src="pages/page1.jsp"></iframe> 
</div> 

JQuery:

$('#mainFrame').attr('src','pages/page2.jsp'); // wait until the iframe is loaded 
$('#myTable').html('some stuff'); // then call this 

Примечание:#myTable элемент присутствует в обеих страницах, поэтому, когда я называю этот кусок кода, он меняет содержание #myTable в page1, а затем меняет src iframe.

Как я могу это достичь?

ответ

0

Вы можете попробовать это.

Working Fiddle

будет работать:

$('#mainFrame').attr('src','pages/page2.jsp'); 
$('#Myiframe').load(function(){ 
    $('#myTable').html('some stuff'); // then call this 
}); 

не буду работать:

$("#mainFrame").load("pages/page2.jsp", function() { 
    $('#myTable').html('some stuff'); 
}); 

И для если IFrame URL от того же domain.for экранного внутреннего содержимого фрейма, вы следует использовать:

$('#Myiframe').contents().html('somestuff') 
0

Используйте функцию .load и поместить последующие функции в функции обратного вызова:

$("#mainFrame").load("pages/page2.jsp", function() { 
    $('#myTable').html('some stuff'); 
}); 
Смежные вопросы