如何获取输入范围值并将其传递给范围外的值?

时间:2021-07-14 10:43:06

标签: javascript html dom

这是我的问题

HTML

<input type="range" onchange="price(this.value)">

JS

let priceRange = 0;

function price(value) {
    console.log(value);
    priceRange = value;
}

console.log(value);

这里可以访问范围内的输入Range值,存储在priceRange中并记录,但不能超出范围,有没有办法用输入范围值的值访问变量priceRange?

任何解决方案将不胜感激!

1 个答案:

答案 0 :(得分:0)

想一想。您有一个在某事发生时正在执行的函数,那么您希望如何在“某事”发生之前访问该函数的结果? - 你不能。

唯一的解决方案是将结果传递给全局变量,因为您拥有 priceRange 并监视它的变化或使用回调函数:

let priceRange = 0;

function price(value) {
//        console.log(value);
    priceRange = value;
    myCallback(value);
}

function myCallback(value)
{
  console.log("myCallback value", value);
  console.log("myCallback priceRange", priceRange);
}

//create an infinite loop to monitor changes in priceRange variable
let priceRangePrev = 0;
!function loop()
{
  if (priceRangePrev !== priceRange)
  {
    console.log("priceRange changed from", priceRangePrev, "to", priceRange);
    priceRangePrev = priceRange;
  }
  setTimeout(loop);
}()
<input type="range" onchange="price(this.value)">

相关问题