繁体   English   中英

Jquery / javascript 错误在我的项目中获得实时结果

[英]Jquery / javascript error to get live result in my project

目前我正在使用 jquery 从事比特币实时价格项目。 现在我需要开发一个实时价格差异百分比变化计算器。 计算器工作正常。 但是当比特币实时价格发生变化时不会自动工作。 我需要在输入中进行编辑。 工作所需的 Keyup 事件。 我需要像往常一样自动完成。 请让它自动没有keyup。我为它创建了一个Codepen页面。 https://codepen.io/toolsim/pen/Rwywjap 我的代码;

<script  src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<input type="text" id="btc-price" class="main01 dz-none from01 for-copy01 input bldo te-cen" value="">
<input type="text" value="25000" class="main02 percentagez to01 input bldo te-cen">
<input type="text" class="rz-result result01 input bldo te-cen">

<script type="text/javascript">
$(document).on("change keyup blur", ".main02", function() {
  var first = Number($('.from01').val());
  var second = Number($('.to01').val());
  var minus = second - first; // 2000 - 1000 = {1000 = minus}
  var divide = (minus / first); // 1000 / 1000 = 1
  var multiply = divide * 100; // 1 * 100 = 100%
  $('.result01').val(Number(multiply).toFixed(2));
});
</script>

<script type="text/javascript">
    let weburl = new WebSocket('wss://stream.binance.com:9443/ws/btcusdt@trade');
    let stockPriceInput = document.querySelector('#btc-price');
    let lastPrice = null;
    weburl.onmessage = (event) => {
      let stockObject = JSON.parse(event.data);
      let price = parseFloat(stockObject.p).toFixed(2);
      stockPriceInput.style.color = !lastPrice || lastPrice === price ? 'black' : price > lastPrice ? 'green' : 'red';
      stockPriceInput.value = price;  
      lastPrice = price;
    };
    </script>

也许是这样的:

 function set_bts(_price){ $('.main01').val(_price); var first = Number($('.from01').val()); var second = Number($('.to01').val()); var minus = second - first; // 2000 - 1000 = {1000 = minus} var divide = (minus / first); // 1000 / 1000 = 1 var multiply = divide * 100; // 1 * 100 = 100% $('.result01').val(Number(multiply).toFixed(2)); } var weburl = new WebSocket('wss://stream.binance.com:9443/ws/btcusdt@trade'); weburl.onmessage = function(event){ var stockObject = JSON.parse(event.data); var price = parseFloat(stockObject.p).toFixed(2); set_bts(price) };
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <input type="text" id="btc-price" class="main01 from01" value=""> <input type="text" value="25000" class="to01"> <input type="text" class="result01">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM