7

私はこのを持っています。

クリックすると、Ajax 経由で動的コンテンツが読み込まれます。読み込まれたページには、div を閉じることができるリンクがあります。動作しますが、div が (hide() で) 閉じられている場合、リンクをクリックしてもロードされたページは開きません。

なんで?Ajax をロードした div を表示/非表示にするボタンを作成するにはどうすればよいですか?

呼び出しページ:

<script type="text/javascript">
function getAjax(divdett,pageload) {
$(function(){$(divdett).load(pageload);});}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>click</title>
</head>
<body>
<a href="javascript:getAjax('#siteloader','jquery_divajax.htm');">click</a>
<div id="siteloader"></div>
</body>

収録ページ :

<script type="text/javascript">
function delAjax(divdett) {
$(divdett).hide();
}
</script>
OK!
<a id="#chiudi" href="#" onclick="delAjax('#siteloader');">chiudi</a>
4

4 に答える 4

1

「閉じる」ボタンで、 を呼び出しますhide()

getAjax関数を次のように変更します。

function getAjax(divdett,pageload) {
$(function(){$(divdett).load(pageload).show();});}

.show()以前に非表示にされた場合でも、div が確実に表示されるように追加しました。

元の構成を尊重したことに注意してください。ただし、これは非常に複雑です。$(function単純に実行できる場合は呼び出す必要はありません。

function getAjax(divdett,pageload) {
$(divdett).load(pageload).show();}

ボタンを 1 つだけにしたい場合は、2 番目のファイルの 1 つを削除し、getAjax 関数を次のように変更します。

function getAjax(divdett,pageload) {
     var div = $(divdett);
     if (div.is(':visible')) div.hide();
     else div.load(pageload).show();
}
于 2012-09-23T18:49:01.803 に答える
0

目立たないアプローチを使用して、htmlをjavascript(jQuery)コードから分離し、@ dystroyが非常によく指摘しているように、ajaxリクエストが行われる前にdivを表示して、表示されていることを確認します。

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>click</title>

    <script type="text/javascript">
        $(function() {
            $('#clickme').on('click', function(event) {
                $('#siteloader').show().load('jquery_divajax.htm');
                event.preventDefault();
            });

            $('#siteloader').on('click', '#chiudi', function(event) {
                $('#siteloader').hide();
                event.preventDefault();
            });
        });
    </script>
</head>

<body>
    <a id="clickme" href="">click</a>
    <div id="siteloader"></div>
</body>
于 2012-09-23T19:07:06.070 に答える
0

私の答えはあなたを助けるかもしれません...あなたにシナリオを与えます...

if else を ajax リクエストに応じて使用できます

$.ajax(
            {
                url:"ChkLogin.php",
                type:"POST",
                dataType: 'json',
                data: {usernm: unm, passwrd: pass },
                success:function(myoutput)
                {                   
                    $(":hidden").val(myoutput.srno);
                    if(myoutput.flag=="1")
                    {                                       
                        window.location="chat.php";
                    }
                    else
                    {
                        $("#msg").html("Invalid Login");
                    }
                }

            });

応答が 1 の場合は、これを行います。そうでなければ、これを行います

お気に入り....

if(myoutput.flag=="1")
                    {                                       
                        $("#div").hide(4000);
                    }
                    else
                    {
                        $("#div").show(4000);
                    }

ここで4000は、DIVを非表示または表示するのにかかるミリ秒(ミリ秒)です]

于 2014-02-17T06:12:01.623 に答える