0

さて、プロフィール画像とユーザー名を取得するためにinstagramのAPIを使用しています。さらに、マウスを重ねるとプロフィール画像が消えるようにしたいです。ただし、それは機能していないようで、img が script タグ内に配置されているためかどうかはわかりません。答えを何時間も探していましたが、何も見つかりませんでした。だから誰かが私を助けてくれたら本当に感謝しています。

<script>


        $(document).ready(function () {



               $('#images').hover(function () {
                    $(".img").fadeTo("fast",0.5);
                }, function () {
                     $(".img").fadeTo("fast",1);
                });


            $("input").keypress(function (event) {

                if (event.which === 13) {
                    event.preventDefault();

                    $("#images").empty();
                    $.ajax({
                        type: 'GET',
                        url: 'get_info.php',
                        data: {keyword: $("input").val()},
                        dataType: 'JSON',
                        success:
                                function (jsonStr) {
                                    $.each(jsonStr.data, function (index, element) {


                                        $('#images').append("<div class='instaUser'><img  class='img' src=" + element.profile_picture + " /><span class='username'>@" + element.username + "</span></div>");

                                    });
                                }

                    });
                }
            });
        });

    </script>
4

2 に答える 2

3

画像は DOM に動的に追加されるため、イベント委任を使用する必要があります。ただし、and.hoverへのショートカットであるため、委任自体はありません。これらのイベントを委任に使用します。mouseentermouseleave

$('#images').on({
    mouseenter : function(){
        $(this).fadeTo("fast",0.5);
    },
    mouseleave : function(){
        $(this).fadeTo("fast",1);
    }
}, '#img');

同じ ID を持つ複数の要素を追加していることに注意してください。ID は一意である必要があります。代わりにクラスを使用してください。

イベントの委任については、こちらをご覧ください。

于 2014-11-14T19:20:25.200 に答える