动画并删除div - jquery

时间:2012-02-29 01:16:38

标签: jquery jquery-ui

我正在通过延迟的淡出效果从身体移除div。

$('#mydata div').each(function(i) {                 

        $(this).delay(200*i).fadeOut(1000);
            $(this).animate({
                "opacity" : "0",
            });

    });
    $('#mydata').remove();

但是如果我使用$('#mydata')。remove()动画不适用于任何解决方案..?

5 个答案:

答案 0 :(得分:10)

这样的事情:

$('#mydata div').each(function(i) {                 

        $(this).delay(200*i).fadeOut(1000);
            $(this).animate({
                "opacity" : "0",
                },{
                "complete" : function() {
                      $('#mydata').remove();
                }
            });

    });

答案 1 :(得分:4)

您需要在动画完成后进行删除。这可以作为on complete参数(动画完成时将调用的函数)添加到animate()调用中:

 $(this).animate({
         "opacity" : "0", //property
         1000, //duration of animation (optional)
         function(){$('#mydata').remove();} //function to run on complete (optional)
 });

您可以在JQuery API

中阅读更多内容

答案 2 :(得分:2)

如果你不介意在DOM中使用div,你可以hide it,这更简单:

$('#mydata').hide();

你也可以指定动画的速度和类型

答案 3 :(得分:1)

您在删除子元素之前删除了父元素。

试试这个:

$('#mydata div').each(function(i) {
    $(this).delay(200*i)
        .fadeOut(1000)
        .animate({
           "opacity" : "0",
        },
        function() {
            $(this).remove();
            if($("#mydata div").length == 0) {
                $("#mydata").remove();
            }
        });
});

答案 4 :(得分:0)

Bens上的轻微模态回答对我有用..

<?php
    $not_login = 0;
    if ($_SERVER["REQUEST_METHOD"] == "POST")
    {
        $servername = "localhost";
        $username = "root";
        $password = "";
        $con = mysql_connect($servername,$username);
        if ($con) {
            $db = mysql_select_db("ccmsdb",$con);
        }
        else{die(mysql_error());
    }
    $login = "LOGIN";

    $userid=$_POST['userid'];
    $password = $_POST['password'];
    //$password = md5($password);

    if ($db) {
        $query = "SELECT * FROM client WHERE   `userid`='$userid' AND `password`='$password' ";
        $result = mysql_query($query);
        $rows_count = mysql_num_rows($result);

        if ($rows_count>0) {

            header("Location:../welcome.php");
        }

        else
        {
            $not_login=1;
        }
        if(!empty($data))
        {

        }

    }
}
?>

<html>
       <form action=" " method="post">



        <h1>Log-In</h1>

      <p>   <label for="Userid">User Id:</label>

        <input type="text" name="userid">

    </p>

    <p>

        <label for="Password">Password:</label>

        <input type="Password" name="password">

    </p>
    <button>Login</button>

</form>