javascript - react : If Else logic, 大于 100

标签 javascript css reactjs for-loop

我有一个 React 应用程序,它有一个 slider ,可以通过 2 个输入 xy 在 0% 和 100% 之间移动图标。但是当 y 输入小于 x 时,它会发射图标 LEFT style property 通过范围 slider 。

我想创建逻辑,以便如果图标 LEFT 超过 100,它保持在 100

例如,x = 5y = 10 所以图标会在 50% 的中间位置

但如果 x = 5 和 y = 4,则左侧属性为 125%,图标会发射并且不会通过 slider ,但会保持在 100%。

我的问题是,当我运行 for 循环 时,它会将所有甚至小于 100% 移动到 100%

所以如果图标是 10%,在脚本之后它的值是 100%

for(var i =0; i<= arrayOfIcons.length; i++) {
    if(arrayOfIcons[i].style.left <= '100%') {
        console.log(arrayOfIcons[i].style.left)
    } else {
        arrayOfIcons[i].style.left = '100%'
        console.log('greater than 100% : ' + arrayOfIcons[i].style.left)
    }
}

TL:DR 如果 的值大于 100%,我希望它保持在 100%

最佳答案

您需要从带有百分号的字符串中提取数值。

function extractNumberFromPercentString(s) {
    return +s.slice(0, -1);
}

for(var i =0; i<= arrayOfIcons.length; i++) {
    if(extractNumberFromPercentString(arrayOfIcons[i].style.left) <= 100) {
        console.log(arrayOfIcons[i].style.left)
    } else {
        arrayOfIcons[i].style.left = '100%'
        console.log('greater than 100% : ' + arrayOfIcons[i].style.left)
    }
}

关于javascript - react : If Else logic, 大于 100,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51619082/

相关文章:

javascript - 将 NG2 指令降级为 AngularJS

javascript - jQuery - 让 fadeOUt 使用 !important

javascript - 如何使用canvas将多张图像转换为base64

javascript - 通过输出的 document.write 设置文本样式

html - 来自无处的随机 css 类

asp.net - css 在母版页的某些部分不起作用,但在单独的 Web 表单 asp.net 中工作

java - 如何在 java 中使用 Windows 凭据自动登录?

javascript - 我想在jquery函数中动态设置变量

reactjs - typescript.lib/lib.dom.d.ts 中的 HTMLElement 定义被 @types/react/global.d.ts 覆盖

reactjs - 我想在“下一步”中重定向用户而不使用 <Link>。 React Router 有 useNavigate(),那么 Next Router 有类似的东西吗?