2016-12-06 66 views
1

我有一个记忆游戏代码,使用javascript,php和css。我该如何触发javascript css动作?

我想通过PHP完成游戏时以某种方式注册事件,以便我可以将结果保存在数据库中。

换句话说,我想将php代码放在<div id="player_won"></div>之内,并正确地触发该获胜事件。

  1. CSS

    #player_won{ 
    display: none; 
    } 
    
  2. 的JavaScript

    $(document).ready(function(){ 
    $(document).bind("game_won", gameWon); 
    } 
    
    function gameWon(){ 
    $.getJSON(document.location.href, {won: 1}, notifiedServerWin); 
    var $game_board = $("#game_board"); 
    var $player_won = $("#player_won"); 
    $game_board.hide(); 
    $player_won.show(); 
    $game_board = $player_won = null; 
    }; 
    
+1

你应该尽量缩小您的问题,只发布了相关的代码。 – jeroen

+1

你可以在你的游戏中获得ajax函数,然后将结果放在你想要的元素中 – Pete

+0

我已经缩小了代码范围。你能举一个例子说明如何激发ajax函数,将结果放入元素中? – chejnik

回答

1

你要创建一个Ajax调用,从页面发送一些信息,并通知如果玩家赢了或者,下面的php文件 丢失。之后,您可以处理foo.php中播放器所需的逻辑,并将Json发送回ajax调用中的成功函数并相应地更新您的页面。

指数

$(document).ready(function() { 
    //look for some kind of click below 
      $(document).on('click', '#SomeId', function() { 

     //Get the information you wish to send here 
     var foo = "test"; 
       $.ajax({ 
        url: "/foo.php", 
        type: 'POST', 
        cache: false, 
        data: {Info: foo}, 
        dataType: 'json', 
        success: function (output, text, error) 
        { 

        //here is where you'll receive the son if successfully sent 
        if(ouput.answer === "yes"){ 
         $("#player_won").show(); 
        } else { 
         // Do something else 
        } 

        }, 
        error: function (jqXHR, textStatus, errorThrown) 
        { 
         //Error handling for potential issues. 
         alert(textStatus + errorThrown + jqXHR); 
        } 
       }) 
      }) 
     }); 

foo.php

<?php 

    if(isset($_POST['Info'])){ 
     //figure out if what was sent is correct here. 

     if($_POST['Info'] === "test"){ 
     $data['answer'] = "yes"; 

     echo json_encode($data); 

     exit; 
     } else { 
     // do something else 

     } 
    } 
?> 
+0

它帮了我很多。有一个小错字 - output.answer,编辑太小,无法纠正。谢谢 – chejnik

+0

我在这里写了大部分来自内存中的代码,所以出现了一点问题,不是问题:-) –

相关问题