2012-10-01 7 views
0

첫 번째 iframe을 숨기고 다음 코드를 표시하는 Nextthing 함수가 있지만 함수의 코드에서 볼 수 있듯이 다음 iframe 만 위해 수행 한 것입니다. 두 번째 iframe이 숨기고 두 번째 iframe이 표시되지만 잘못된 위치에 표시됩니다.하나의 실행 후 jquery 함수를 중지

한 번 실행 한 후에 기능을 중지하려면 어떻게해야합니까?

function Nextthing(){ 

    $("#i").hide(); 
    $('.table').eq(1).find('tbody tr').eq(2).after(
     '<tr><td colspan=10><iframe class="iframe" src="/msg.html?msgId=' + 
     $('.table').eq(1).find('tbody tr').eq(2) 
     .find('td a').eq(0).text()+'&constant=1"></iframe></td></tr>); 
} 

UPDATE : 당신이 그 iframe이 해당 페이지 msg.html에서라고 볼 수 있듯이 아니라 해당 페이지는 입력을 가지고 있으며, 버튼을 제출하고 기능 Nextthing이 같은 그 버튼에서 호출됩니다

<input type="submit" onclick="parent.Nextthing();" /> 

누군가가 그것을 MSGID에 따라 msg.html의 다음 페이지의 iframe을로드 할 iframe에 제출 '버튼을 누르면, 나는이 부하가 한 번만되고 싶어 ...

+1

[one] (http://api.jquery.com/one/) 메소드를 사용할 수 있습니다. – undefined

답변

2

당신이

을 사용할 수 있습니다

.one() 처리기 .. 코드를 한 번 실행하고 실행을 중지합니다.

$('input[type=submit]').one('click', function() { 
    $("#i").hide(); 
    $('.table').eq(1).find('tbody tr').eq(2).after('<tr><td colspan=10><iframe class="iframe"  
    src="/msg.html?msgId='+$('.table').eq(1).find('tbody tr').eq(2).find('td 
    a').eq(0).text()+'&constant=1"></iframe></td></tr>); 

}); 
+0

내 함수로 업데이트 – Abude

+0

Nextitem() 함수를 어떻게 호출합니까? –

+0

i 프레임에는 제출 버튼이있는 양식이 있으므로 메시지를 제출할 때 iframe을 숨기고 다음 메시지의 다음 iframe을로드합니다. – Abude

0

이 경우 나는 일반적으로 elTriggers = false와 같은 전역 변수 만 가지며 트리거되었는지 확인하고 true로 만듭니다. jquery의 one 기능을 확인할 수도 있습니다.