2016-10-21 12 views
0

の質問のこのタイプは、このサイトで多くを尋ねてきたが、これはなぜ起こるか私は理解していません。 私は「not_imp_msg」クラスを持つすべての要素を削除するスクリプトを書きたいと私は、このjavascriptのすべての要素削除予期しない識別子

setTimeout($('.not_imp_msg').each(function(){$(this).slideDown();}),2000); 

は実はこれがlaravelでフラッシュメッセージのために、私のflash.blade.phpに

@foreach($flash as $flash_message) 
    @if(isset($flash_message['status']) && $flash_message['status'] != null) 
<div class="box box-{{$flash_message['class']}} box-solid"> 
    <div class="box-tools pull-right"> 
     <button type="button" class="btn btn-box-tool" data-widget="remove"><i class="fa fa-times"></i></button> 
    </div> 
    <div class="box-body"> 
     {{$flash_message['message']}} 
    </div> 
    </div> 
    @else 
    <div class="box box-{{$flash_message['class']}} box-solid not_imp_msg"> 
     <div class="box-body"> 
     {{$flash_message['message']}} 
    </div> 
    </div> 
    @endif 

@endforeach 

ありましたこれにより、2秒後にエラーが表示されますが、ドキュメントが読み込まれるとすべての要素がスライドアップします。 2秒間待たなければならない。なぜ私は理解できません。 setTimeoutは、関数名または匿名関数を期待しているよう

+0

を忘れてしまった: 'のsetTimeout(関数(){...}、2000);' –

+0

ごめんなさい? uがはい私はそう – Saurab

答えて

4

は、無名関数を渡して試してみてください:あなたは要素を削除したい場合は

$(document).ready(function() { 
 
    setTimeout(function() { 
 
    $('.not_imp_msg').slideDown(); 
 
    }, 2000); 
 
});
.not_imp_msg { 
 
    background-color: #ddd; 
 
    border-top: 1px solid white; 
 
    height: 50px; 
 
    display: none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="not_imp_msg"></div> 
 
<div class="not_imp_msg"></div> 
 
<div class="not_imp_msg"></div> 
 
<div class="not_imp_msg"></div> 
 
<div class="not_imp_msg"></div>


サイド

を指摘し、のコールバック関数を使用するよりもから.remove要素。

+1

良い点を説明してくださいすることができます。それを指摘してくれてありがとう –

+0

'無用削除する – Saurab

+0

のように私はそれを考えて、削除していたが、それは私がsetTimeoutを上閉鎖に電話をするのを忘れた – Saurab

0

はこのようにしてみ


.slideDown.slideUp要素を崩壊する、要素を明らかにし、彼らはまだ0PXの高さとDOMに提示されます。

setTimeout(
function() { 
    $('.not_imp_msg').each(function(){ 
     $(this).slideDown(); 
    }; 
}, 2000); 

はそれがうまく願っています!ところで 、コンソールにエラーメッセージを提供することができますか?

0

あなただけのあなたが匿名関数でタイムアウトコールバックをラップする必要がある機能であなたのsetTimeoutの内部をラップする

setTimeout(function(){ 
    $('.not_imp_msg').each(function(){$(this).slideDown();}) 
},2000); 
関連する問題