2010-12-01 9 views
0

JQueryのdocument.readyを使用して、MVCマスターページからいくつかの項目を非表示にしています。しかし、ページが読み込まれると、削除する要素が1秒間消えてから消えることがわかります。JQuery Document.ready機能がページ起動時に点滅する

は、これは私がそれをやっている方法です:

<asp:Content ID="MainContent" ContentPlaceHolderID="MainContent" runat="server"> 
    <script type="text/javascript"> 
     $(document).ready(function() 
     { 
      $("#HideDiv").remove() 
     }); 
    </script> 

は、どのように私は、その点滅を取り除くことができますか?私は、ページがレンダリングされる前に削除している要素を削除します。

更新:

私は、特定のページに特定のものを隠して、動的にこれをやっていることを指摘しなければなりません。 HideDivは、私が与えた名前の一例にすぎず、たぶん貧しい人かもしれません。

たとえば、上部にはさまざまなページへのリンクを持つメニューバーがあります。ユーザーがそのページにいるときにそのページへのリンクを削除したいと思います。各ページに必要なリンクだけを手動で追加するのではなく、マスターページにすべてのリンクがあり、ページに表示したくないリンクを隠すだけです。

明らかにdocument.readyはこれを行う時間ではありませんか?それを達成するためのよりよい方法は何でしょうか?

答えて

0

を削除する代わりに、fadeOut()またはhide()を使用します。それができない場合、あなたが置くことができ

<style type="text/css"> 
#HideDiv { display: none; } 
</style> 

:あなたはinitally彼らは表示されませんCSSを使って要素を非表示にした場合

$("#HideDiv").remove(); // remove completly removes from dom 

以下のもの

は滑らか効果

$("#HideDiv").fadeOut(); 

$("#HideDiv").hide() 
1

を与えます要素の直後のスクリプトタグ:

<div id="HdeDiv">...</div> 
<script type="text/javascript"> 
$('#HideDiv').remove(); 
</script> 
+0

問題は、私はページに基づいてこれらのものを動的に隠しているということです。だから私はHideDivを10ページのうち3ページに表示させたい。 –

+0

@Mike - あなたのソリューションは、あなたが望むほど一般的ではないかもしれません。 – JasCav

0

JavaScriptがページが読み込まれるまで実行されません。これが$(document).ready()の動作です。

しかし、CSSを使用してdivを非表示にしないのはなぜですか?このように:

<style type="text/css"> 
    #HideDiv 
    { 
     display: none; 
    } 
</style> 
関連する問題