-2

AJAX 出力を if(statement) で保存または使用する方法についてアドバイスが必要です。これがコードの外観ですので、私が求めているものを理解していただければ幸いです。

setInterval("yourAjaxCall()",1000);
        function yourAjaxCall() 
      {

        $.ajax({                                      
          url: 'api.php',                  //the script to call to get data          
          data: "",                        //you can insert url argumnets here to pass to api.php
                                           //for example "id=5&parent=6"
          dataType: 'json',                //data format
          success: function(data)          //on recieve of reply
          {
            var id = data[0];              //get id
            var vname = data[1];           //get name

            $("#square").css({"background-color" : vname});


          } 
        });
      };


    </script>
</head>
<body>
<div id="square" style="width:200px; height:200px; position:relative; ">
</div>  

<script>

EDIT    $color = output from ajax(background-color of square) //HOW DO I SAVE IT OR USE IT?

/* Start animation */
    setInterval("timedani()",10000);
    function timedani(){
    /* Stop animation when button is clicked */
        $("#stop").click(function(){
            $("#square").stop();

        });
    //First TR-bubble
        //$("#ball").animate({left: 'x', top: 'y'}, 1500);

   if($color == 'pink'){                     // PROBABLY WRONG
        $("#square").animate({left: 510, top: 75}, 1500);
        $("#square").animate({left: 0, top: 75}, 1500);
        }

   else if($color == 'blue'){                // PROBABLY WRONG
        $("#square").animate({left: 0, top: 475}, 1500);
        $("#square").animate({left: 0, top: 0}, 1500);
        }


    };

    $("#stop").click(function(){
        $("#kvadrat1").stop();

    });

    $("#back").click(function(){
        $("#kvadrat1").animate({left: '0px', top: '0px'}, 1500);

    });
</script>

迅速かつ簡単な回答に最適です。よろしくお願いします

4

1 に答える 1

0

$colorグローバル変数として使用したいようですので、ajaxコールバックで

setInterval("yourAjaxCall()", 1000);

function yourAjaxCall() {

    $.ajax({
        url: 'api.php', //the script to call to get data          
        data: "", //you can insert url argumnets here to pass to api.php
        //for example "id=5&parent=6"
        dataType: 'json', //data format
        success: function (data) //on recieve of reply
        {
            var id = data[0]; //get id
            var vname = data[1]; //get name

            $("#square").css({
                "background-color": vname
            });

            $color = vname;
        }
    });
};

それから

//declar $color as a global variable
var $color;//if you want to assign a default value use var $color = 'pink'

/* Start animation */
setInterval("timedani()", 10000);

function timedani() {
    /* Stop animation when button is clicked */
    $("#stop").click(function () {
        $("#square").stop();

    });
    //First TR-bubble
    //$("#ball").animate({left: 'x', top: 'y'}, 1500);

    if ($color == 'pink') { // PROBABLY WRONG
        $("#square").animate({
            left: 510,
            top: 75
        }, 1500);
        $("#square").animate({
            left: 0,
            top: 75
        }, 1500);
    } else if ($color == 'blue') { // PROBABLY WRONG
        $("#square").animate({
            left: 0,
            top: 475
        }, 1500);
        $("#square").animate({
            left: 0,
            top: 0
        }, 1500);
    }


};

$("#stop").click(function () {
    $("#kvadrat1").stop();

});

$("#back").click(function () {
    $("#kvadrat1").animate({
        left: '0px',
        top: '0px'
    }, 1500);

});
于 2013-09-25T11:37:55.953 に答える