-1

我有一个计算每平方米天花板价格的表格。离子范围滑块作为输入,然后计算价格并将数据输出到输入。但我需要用spanor改变输入div。有什么建议么?

这是html:

<form id="calc">
  <div id="1">

  <p> 
    <input id="rel"  oninput="
    var v = this.value; 
    this.form.new.value = isNaN(v) ? '' : (v * 450).toFixed (0); 
    var v = this.value; this.form.new2.value = isNaN(v) ? '' : (v * 650).toFixed (0)" 
    style="display: none;">
  </p>

  <p><p>
   <span  class="small">from </span>
<span class="new"></span>
   <input type="text" disabled="disabled" name="new" size="2" maxlength="4" value="0" >
    <span class="small">to </span><input type="text" disabled="disabled" name="new2" size="2" maxlength="4" value="0">
    <div class="result" id="result">

    </div>
  </p>

  </div>
</form>

在这里你可以找到它是如何工作的http://jsfiddle.net/khvoroffski/50apyyr5/

4

1 回答 1

0

请好好看看这个例子,我让你设计(css)。

/*Chrome*/
@media screen and (-webkit-min-device-pixel-ratio:0) {
    input[type='range'] {
      overflow: hidden;
      width: 10px;
      -webkit-appearance: none;
      background-color: #9a905d;
    }
    
    input[type='range']::-webkit-slider-runnable-track {
      height: 10px;
      -webkit-appearance: none;
      color: #13bba4;
      margin-top: -1px;
    }
    
    input[type='range']::-webkit-slider-thumb {
      width: 10px;
      -webkit-appearance: none;
      height: 10px;
      cursor: ew-resize;
      background: #434343;
      box-shadow: -10px 0 0 0px #43e5f7;
    }

}
/** FF*/
input[type="range"]::-moz-range-progress {
  background-color: #43e5f7; 
}
input[type="range"]::-moz-range-track {  
  background-color: #9a905d;
}
/* IE*/
input[type="range"]::-ms-fill-lower {
  background-color: #43e5f7; 
}
input[type="range"]::-ms-fill-upper {  
  background-color: #9a905d;
}
<script>

function E (ele) {return document.getElementById(ele)}
function CALC ( value_ ) {

    var SPAN = E("SliderValue")
    var FROM = E("FROM")
    var TO = E("TO")
    var currentValue = E("SliderValue")
    
    var WIDTH_OF_SLIDER = E("rel")
    
    var positionInfo = WIDTH_OF_SLIDER.getBoundingClientRect();
    var width_IN_PIX = positionInfo.width;

    FROM.value = isNaN(value_) ? '' : (value_ * 450).toFixed (0); 
    TO.value = isNaN(value_) ? '' : (value_ * 650).toFixed (0);
    
    currentValue.innerHTML = value_ + ""
    
    var COEFICIJENT =  width_IN_PIX / 100
   
    currentValue.style.left = ( value_ * COEFICIJENT ) + "px"
    
    
}
</script>

<form id="calc"
>
  <div id="1">

  <p> 
    <input id="rel"  
    oninput="CALC(this.value)"
    type="range"
    maxValue="50"
    minValue="5"
    value="0"
    step="1"
    style="width:100%;background-color:red;" >
    
  </p>

  
  
   <span  class="small" >from </span>
   <span id="SliderValue" style="position:absolute;left:0;" > </span>
   
   <input type="text"  id="FROM"  value="0" />
    <span class="small">to </span>
    <input type="text"   id="TO"  value="0"  />
    <div class="result" id="result" > </div>
    
 
  </div>
  
</form>

于 2017-08-31T19:27:33.347 回答