【问题标题】:How to calculate the value from selections?如何从选择中计算价值?
【发布时间】:2021-07-16 10:54:56
【问题描述】:

也许是一个不恰当的问题,但找不到地方问。

问题:我在 html 页面上有 3 个数字(1.5、2.5、-3.5)。 我想用鼠标(双击)选择它们中的每一个,并在剪贴板中获取计算结果(在本例中为 0.5)。

可以吗?

【问题讨论】:

标签: javascript html web-applications


【解决方案1】:

是的,绝对有可能。

当点击数字时,在我的例子中是<button>,它会在点击的按钮上添加selected类,表示选择了数字,或者根据类@的存在将其删除987654324@.

更新类后,它会调用函数calculateSum(),该函数将选择所有类selected的元素,并将innerText(本例中为选中的数字)加在一起。

最后,result 将被传递给函数 renderUpdate() 以可视化更新。

const selectableNumbers = document.querySelectorAll('.numbers')
selectableNumbers.forEach(n => {
  n.addEventListener('dblclick', e => {
    if (n.classList.contains('selected')) {
      n.classList.remove('selected')
    } else {
      n.classList.add('selected')
    }
    calculateSum()
  })
})

function calculateSum() {
  let result = 0
  const selectedNumbers = document.querySelectorAll('.selected')
  selectedNumbers.forEach(n => {
    result += parseFloat(n.innerText)
  })
  renderUpdate(result)
}

function renderUpdate(result) {
  const resultOutput = document.querySelector('.spanResult')
  resultOutput.innerText = `Sum: ${result.toString()}`
}
.selected {
  background-color: grey;
  color: white;
}
<button class="numbers">1.5</button>
<button class="numbers">2.5</button>
<button class="numbers">-3.5</button>
<span class="spanResult">Sum: 0</span>

对于剪贴板:https://stackoverflow.com/a/30810322/16491678

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-25
    • 1970-01-01
    • 1970-01-01
    • 2018-02-03
    • 1970-01-01
    • 2020-06-02
    • 2021-12-29
    相关资源
    最近更新 更多