美文网首页
JS input value数据调整

JS input value数据调整

作者: HueyYao | 来源:发表于2021-01-05 22:38 被阅读0次

    JS判断input value的高度和长度 并按要求修改后缀单位显示

    显示需要的效果截图

    默认情况

    1.png

    输入后


    2.png

    点击input修改数据


    3.png

    HTML代码

    <div style="position: relative;">
          <input type="text" name="coinsNum" id="coinsNum" onblur="earnCoinsCal()" onfocus="focusCoinsNum()" class="selltous-input" value="" placeholder="SELLFORMAMOUNTCOINS(K)">
           <span style="position: absolute;right:10px;top:15px;font-size: 15px;font-weight: bold;margin-right:6px;" id="earnCoinsk" class="earnCoinsk">K</span>
     </div>
    

    JS代码

        //默认选中复原状态
        function focusCoinsNum(){
            var earnCoinsk=document.getElementById("earnCoinsk");
            earnCoinsk.style.cssText = earnCoinsk.style.cssText.replace(/margin-right:/,"margin-right:6px;");
        }
        //计算字符实际宽度
        function computeFontSize(str, size, family) {
            let spanDom = document.createElement("span");
            spanDom.style.fontSize = size;
            spanDom.style.opacity = "0";
            // spanDom.style.fontFamily = family;
            spanDom.innerHTML = str;
            document.body.append(spanDom);
            let sizeD = {};
            sizeD.width = spanDom.offsetWidth+25;
            sizeD.height = spanDom.offsetHeight;
            spanDom.remove();
            return sizeD;
        }
        //计算金币收益
        function earnCoinsCal(){
            var coinsNum = $("input[name='coinsNum']").val();
            var coinsNumLength = $("#coinsNum").val().length;
            var earnCoinsk=document.getElementById("earnCoinsk");
            if(coinsNumLength > 1){
               var sizeD = computeFontSize(coinsNum, "15px", "微软雅黑");
               earnCoinsk.style.cssText = earnCoinsk.style.cssText.replace(/margin-right:/,"margin-right:calc(100% - "+sizeD['width']+"px);");
            }
         }
    

    其实还有很多替换简单的方式 例如通过div(可编辑DIV)模拟input样式效果 嵌套来达到同样的效果 只是为了整理一下该方式

    相关文章

      网友评论

          本文标题:JS input value数据调整

          本文链接:https://www.haomeiwen.com/subject/fgrgoktx.html