2016-08-19 15 views
-4

削除して作業を追加しましたonclick。しかし、決して単一の機能の中にはありません。同じ機能で削除された要素の後ろに要素を追加できません

私は、呼び出されたときにDOMから要素を削除し、その要素を遅延で再追加する機能がほしいのです。 - 質問があるので、誰かが私がどこに間違っているのか理解してもらうことができますか?

要素を削除できますが、削除すると警告が表示されます。私は遅れて要素を追加することができ、それらは現れます - 問題ありません。

私はそれぞれの機能を別々に作って動作させることができますが、どちらか一方を呼び出すことはできません。しかし、私がalertを遅れて追加しようとすると、何も起こりません。エラーはありません。ただ何も。

私は別の機能を実行できません。削除の直後に追加が必要です。私はページをリフレッシュすることなく、呼び出されたときに何度も何度も実行する関数が必要です。

displayプロパティの切り替えはオプションではありません。

$("#captcha").on("remove", function() { 
    alert("Element was removed"); //works perfectly 
    $("#contain").delay(10000).queue(function(next) { 
     $(this).add('<iframe id="captcha" class="captcha" src="mypage.php"></iframe>'); 
    }); // doesn't work inside this function but works perfectly outside this function 
}); 

function RemoveDiv() { 
    var d = $("#captcha"); 
    d.remove(); 
} 
RemoveDiv(); 

は同様に私は機能AddDiv()を作成し、)(AddDivを呼び出して追加しようとしています。内部からRemoveDiv();

更新:

function RemoveDiv() { 
    $('#captcha').remove(); 
    $('#contain').append('<iframe id="captcha" class="captcha" src="/includes/captcha.php" style="style=border:0; overflow: hidden; position: absolute; z-index: 100; width: 430px; height:75px;left: 20px; top: 20px; border:none;"></iframe>').delay(10000).queue(function (next) { 
     $('#contain').append('<iframe id="captcha" class="captcha" src="/includes/captcha.php" style="style=border:0; overflow: hidden; position: absolute; z-index: 100; width: 430px; height:75px;left: 20px; top: 20px; border:none;"></iframe>'); 
     next(); 
    }); 
} 

アペンド機能がRemoveDiv関数の外で動作し、遅延を作成し、私は標準APPENDを使用している場合、それはRemoveDiv関数内動作しますが、それは動作しませんディレイ。では、これらの2つの要素をどのように結び付けて、遅延がRemoveDiv関数内で機能するようにしますか?

+2

- 自分の問題の一部であります?試したコードの例を示すためにあなたの質問を編集してください。あるいは、少なくともあなたが単独で働く削除と追加の機能の例を示してください。同じ関数内の要素を削除して再追加する点は何ですか? – nnnnnn

+1

質問はしていませんが、試したものと達成しようとしているもののサンプルを少なくとも投稿する必要があります。 –

+0

@nnnnnn文字通り、私はコードを追加しました。 – Bruce

答えて

0

@EvanTrimboliのおかげで、私はついに解決策を思いつくことができました。 * `追加()`関数が終了した後、*要素がDOM *に追加される意味あなたの関数への非同期側面を、紹介遅れを持つ要素*を追加

function RemoveDiv() { 
    $('#captcha').remove(); 
    $('#contain').delay(10000).queue(function (next) { 
     $(this).append('<iframe id="captcha" class="captcha" 
     src="/includes/captcha.php" style="style=border:0; overflow: hidden; 
     position: absolute; z-index: 100; width: 430px; height:75px;left: 20px; top: 20px; 
     border:none;"></iframe>'); 

     next(); 
    }); 
} 
関連する問題