如何在jquery中组合两个函数?

时间:2017-09-30 18:48:34

标签: javascript jquery json

如何组合这两个功能并在var price功能中提醒updatePrice?目前我只能在第一个函数中提醒price,但我想在alert(price)函数内调用updatePrice

$(document).ready(function()
{

var json = (function () {
var json = null;
$.ajax({
    'async': false,
    'global': false,
    'url': 'https://api.coinmarketcap.com/v1/ticker/ethereum/?convert=USD',
    'dataType': "json",
    'success': function (data) {
        json = data[0].price_usd;
        var price = JSON.stringify(json);
        var price = JSON.parse(price);
        alert(price);
    }
});
})(); 

function updatePrice ()
{
    var ethprice = parseFloat($(".usd-input").val());
    var ethtotal = (ethprice) / 298;
    var ethtotal = ethtotal.toFixed(3);
    if(isNaN(ethtotal)) {
    var ethtotal = "";
    }
    $(".eth-input").val(ethtotal);

    var tvcprice = parseFloat($(".usd-input").val());
    var tvctotal = (tvcprice) / 1;
    var tvctotal = tvctotal.toFixed(3);
    if(isNaN(tvctotal)) {
    var tvctotal = "";
    }
    $(".tvc-input").val(tvctotal);
}
$(document).on("change, keyup", ".usd-input", updatePrice);  

})

1 个答案:

答案 0 :(得分:2)

将第一个函数(比如showAlert())声明为全局函数,然后从updatePrice()函数中调用它。

并且还要在全局范围内声明price变量,因为您要从updateFunction()函数访问它。

var price;     // declare in global scope, so can be accessable from anywhere.

var showAlert = function () {
  var json = null;
  $.ajax({
    'async': false,
    'global': false,
    'url': 'https://api.coinmarketcap.com/v1/ticker/ethereum/?
     convert=USD',
     'dataType': "json",
     'success': function (data) {
      json = data[0].price_usd;
      price = JSON.stringify(json);
      price = JSON.parse(price);
      alert(price);
    }
  });
}

showAlert();

现在,只需从 updatePrice()函数中调用 showAlert()