0

自分のページの1つにコードがあります。誰かがラジオボタンをクリックすると、画像がフェードイン、フェードイン、フェードアウトすることになっています。また、データベースはajaxを使用してonclickで更新されます。

<html>
<body>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

<script type="text/javascript">
$("#rad").click(function() {
    $("#success").fadeIn(500);
    $("#success").delay(1000);
    $("#success").fadeOut(1000);
})
</script>

<table class="profimg">
    <tr><td height="50" width="50"><img id="success" src="http://cdn4.iconfinder.com/data/icons/simplicio/128x128/notification_done.png" style="display:none" height="50" width="50"></td></tr>
    <tr><td align="center"><img class="profimg" src="" alt="Administratorasdf" height="100" width="100"/></td></tr>
<tr><td id="rad" align="center"><input type='radio' title='Publicly Visible' name='img_pub' onclick="upimg1()" /> <input type='radio' title='Visible Only To Users' value='UsersOnly' name='img_pub' onclick="upimg2()" /> <input type='radio' title='Visible Only To You' value='Hide' name='img_pub' onclick="upimg3()" checked='checked'/></td></tr>
</table>

</body>
</html>

混乱を避けるためにajax部分を削除しました。これは私が使用したjsFiddleです。http://jsfiddle.net/c7ajb/1/エラーは何でしょうか?

4

3 に答える 3

4

これは機能しています:

$("#rad").click(function () {
    $("#success").fadeIn(500).delay(1000).fadeOut(1000);
});​

Javascriptは非同期である場合がありますが、この方法で行わないと、機能しませんdelay()

また、コードの進化を改善するためにコールバックを使用する必要があります。

于 2012-11-13T09:12:34.090 に答える
1

関数のコールバックにdelay/を入れます(または他の回答で提案されているようにメソッドをチェーンします): fadeOutfadeIn

$("#rad").click(function () {
    $("#success").fadeIn(500, function() {
        $(this).delay(1000).fadeOut(1000);
    });
});

こちらのデモ

于 2012-11-13T09:16:17.590 に答える
0
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

    <script type="text/javascript">
        $(document).ready(function(e) {
            $(".radios").click(function() {
                $("#success").fadeIn(500).delay(1000).fadeOut(1000);
            })
        });
        function upimg1(){}
        function upimg2(){}
        function upimg3(){}
    </script>
</head>
<body>

    <table class="profimg">
        <tr>
            <td height="50" width="50">
                <img id="success" src="http://cdn4.iconfinder.com/data/icons/simplicio/128x128/notification_done.png" style="display:none" height="50" width="50">
            </td>
        </tr>
        <tr>
            <td align="center">
                <img class="profimg" src="" alt="Administratorasdf" height="100" width="100"/>
            </td></tr>
        <tr>
            <td id="rad" align="center">
                <input class="radios" type='radio' title='Publicly Visible' name='img_pub' onClick="upimg1()" /> 
                <input class="radios" type='radio' title='Visible Only To Users' value='UsersOnly' name='img_pub' onClick="upimg2()" /> 
                <input class="radios" type='radio' title='Visible Only To You' value='Hide' name='img_pub' onClick="upimg3()" checked='checked'/>
            </td>
        </tr>
    </table>

</body>

于 2012-11-13T09:23:58.847 に答える