1

Razor 構文で MVC アプリケーションを開発しています。Div を Slidetoggle しようとしています。つまり、ある Div をクリックすると、他の div を展開する必要があります。読み込み後は正常に動作しますが、ページの読み込み時にすでに展開されているのはなぜですか? しかし、私のアプリケーションでは、すでに展開/切り替えられています。

これを解決するには?

 @model  IEnumerable<CRMEntities.Comment>


<html xmlns="http://www.w3.org/1999/xhtml">


<head runat="server">

    <title></title>


     <!DOCTYPE html>

    <script src="../../Scripts/jquery.js" type="text/javascript"></script>

    <script type="text/javascript">

    function clearText() 

    {
         document.getElementById('Comment').value = "";

    }

</script>


<script src="../../Scripts/jquery.js" type="text/javascript"></script>

<script type="text/javascript">

    $(document).ready(function () {

        $(".ShowComments").click(function () {

            $(".ParentBlock").slideToggle("slow");

        });

    });

</script>





<style type="text/css"> 

div.ParentBlock
{
position:relative;

}

div.ShowComments
{
   position:relative;

}

</style>



</head>
<body>

@{

    <p class="ShowComments">Show Comments</p>


    <div class="ParentBlock">



    @foreach (var item in Model)
    {
        <div id="OwnerName">

         <span class="EmpName"> @Html.ActionLink(item.Owner.FullName, "Details", "EMployee", new { id = item.OwnerId }, new { @style = "color:#1A6690;" })</span>

           @Html.DisplayFor(ModelItem => item.CommentDateTime)

        </div>

        <div id="CommentTextBlock">
           @Html.DisplayFor(ModelItem => item.CommentText)
        </div>
        <br />


    }



    </div>


   @Html.TextArea("Comment", "", 5, 80, "asdsd")


    <input type="button" value="Add Comment"/>                         
    <input type="button" value="Clear" onclick="clearText()"/>                    

}


</body>
</html>

問題の要約は、Jscript を呼び出す前に Div が切り替えられることです。それを避ける方法は?

4

1 に答える 1

1

cssで非表示にするdivを非表示に設定します。このようにして、トグルすると閉じてスライドして開きます。

于 2012-09-13T12:36:59.663 に答える