javascript
  • php
  • ajax
  • 2016-11-17 6 views 0 likes 
    0

    検索ページonmouseoverからの値を表示する以下のスクリプトがあります。AJAXリクエストをトリガーする方法onmouseover

    <script type="text/javascript"> 
        function preview(val) { 
         $.ajax({ 
         type: "POST", 
         url: "search.php", 
         data:'id='+val, 
         success: function(data){ 
          $(".ress").html(data); 
         } 
        }); 
        } 
    </script> 
    

    HTML:

    <div class="CVSearchResult" onmouseover="preview('1')"> 
    

    検索:クラス.ressため

    <?php echo $_POST['id']; ?> 
    

    出力:

    1 
    

    は、しかし、私は同様に出力onmouseoutを非表示にします。これどうやってするの?私はちょうどマウスのホバーのためのAJAXを起動し、ホバーではない場合は隠すことを意味します。

    答えて

    0
    <div class="CVSearchResult" onmouseover="preview('1')" onmouseout="hide()"> 
    <script> 
    function hide() { 
        $(".ress").html(''); 
    } 
    </script> 
    

    ユーザーがマウスを要素から離してマウスを非表示機能にすると、イベントハンドラが追加されます。

    hude関数は結果dom要素(以前の呼び出しから選択された結果を含むことができる)を取得し、htmlを空文字列に設定します。

    こうすると、マウスで移動するとdiv要素が消去されます。

    +0

    私はこのコードの問題があると思います。コードを再確認してください。 –

    +0

    私は閉鎖 "'"を忘れました – user2693928

    +1

    このコードスニペットは、あなたの投稿の質を向上させるための説明(本当に役立つ)(http://meta.stackexchange.com/q/114762)を含む質問を解決するかもしれませんが。あなたが今質問している人だけでなく、将来読者のための質問に答えていることを忘れないでください!説明を追加するためにあなたの答えを[編集]し、どんな制限と前提が適用されるかを示してください。 – BrokenBinary

    0

    さて、私はあなたがそれをどうやってできるかを示すために、ちょっとしたフィドルを作りました。

    Fiddle with it

    HTML

    <div class="CVSearchResult" data-mydata="1"> 
        HOVER ON ME1 
    </div> 
    <div class="ress"> 
        This was hidden but is now visible.1 
    </div> 
    

    JS

    $(document).ready(function() { 
        $(".CVSearchResult").on("mouseover", function() { 
        preview($(this).attr("data-mydata")); 
        }); 
        $(".CVSearchResult").on("mouseout", function() { 
        $(".ress").css("display", "none"); 
        }) 
    }) 
    function preview(val) { 
        $(".ress").css("border", "2px solid black"); 
        /* Add your own ajax call here to get the data that you want... */ 
        var data = val; 
        $(".ress").html(data); 
        $("div.ress").css("display", "block"); 
        /* --- */ 
    } 
    

    CSS

    .ress { 
        display: none; 
        border: 1px solid black; 
        font-family: Helvetica; 
        position: absolute; 
        left: 200px; 
        top: 10px; 
        padding: 5px; 
    } 
    
    +0

    これは動作していません –

    +0

    どの部分が機能しませんか? – grom

    +0

    これは動作していますが、これ以降は小さな問題が1つあります。マウスオーバーデータがajaxから来るので、私がクラスの上にカーソルを移動するたびに、日付がリロードされます(カーソルが動くと点滅します)。 –

    関連する問題