Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript做一些数学计算范围_Javascript_Jquery_Math - Fatal编程技术网

使用Javascript做一些数学计算范围

使用Javascript做一些数学计算范围,javascript,jquery,math,Javascript,Jquery,Math,我正在尝试使用Javascript创建一个范围显示。它本身不是一个范围滑块,但将在一个div中显示2个值的范围 我将试着用一个例子来解释: 外部“样式范围”div保存绝对最小值和最大值,宽度正好为183px。这是范围显示的边界 内部的“range”div也有需要像屏幕截图中那样突出显示的最小值和最大值。因此,对于本例,它将是一个非常小的宽度高亮显示区域,靠近范围显示的左边缘 内部范围需要是范围内较暗的指针 <div class="col-sm style-range abv" data

我正在尝试使用Javascript创建一个范围显示。它本身不是一个范围滑块,但将在一个div中显示2个值的范围

我将试着用一个例子来解释:

  • 外部“样式范围”div保存绝对最小值和最大值,宽度正好为183px。这是范围显示的边界
  • 内部的“range”div也有需要像屏幕截图中那样突出显示的最小值和最大值。因此,对于本例,它将是一个非常小的宽度高亮显示区域,靠近范围显示的左边缘
  • 内部范围需要是范围内较暗的指针

    <div class="col-sm style-range abv" data-step="0" data-max="15" data-min="2" data-name="abv">
        <div class="range" data-min="2.2" data-max="3.3">
            <span data-value="2.7"></span>
    </div>
    
    我需要Javascript部分的帮助来进行数学计算。我基本上需要将2.2和3.3的值转换为它们在范围滑块中的相关%位置


    所以2.2可能变成5%,这意味着它从左边界开始5%,3.3可能是16%,这意味着它从左边界结束16%

    问题是……?@SamAxe编辑过这样的问题吗?最大值除以值=百分比<代码>183/2.2和
    183/3.3
    @ChrisG-是的,这正是想法。不过,数学似乎有问题。如果将范围值设置为2.2或3.3,则该线不会到达范围的端点
    // calc the range of an attribute
    recipe.calcRange = function() {
    
        var $item   = $( '.ranges [data-name="abv"]' );
    
        var width   = $item.width();
        var diff    = $item.data( 'max' ) - $( item ).data( 'min' );
    
    }