为输入字段分配一个值

时间:2018-09-30 14:06:33

标签: javascript html

let slider = document.getElementById("slider");
let rightBtn = document.getElementById("rightbutton");
let leftBtn = document.getElementById("leftbutton");

let element = document.getElementById("elementtype").innerHTML;
let celciusBoiling = document.getElementById("celciusboiling").value;


let chlorine = ["Chlorine", 100, 200];

function moveSliderRight() {
    if (rightBtn.onclick) {
        slider.value++;
    }
}


function moveSliderLeft() {
    if (leftBtn.onclick) {
        slider.value--;
    }
}


function main() {
    moveSliderRight();
    moveSliderLeft();

    if (slider.value == parseInt(2)) {
        element = chlorine[0];
        celciusBoiling = chlorine[1];
    }
}
main();
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    background-color: peachpuff;
}

header {
    width: 90%;
    margin: 10px auto 0px;
}

header h1 {
    text-align: center;
    border: 1px solid black;
    padding: 15px 0px;
}

.navbar {
    width: 75%;
    margin: 50px auto 50px;
    padding: 10px 0px;
    display: flex;
    justify-content: space-around;
    border: 1px solid black;
}

.navlinks {
    border-right: 1px solid black;
    width: 50%;
    text-align: center;
    display: block;
}

#nav3 {
    border: none;
}

#intro {
    margin: 0px auto 50px;
    width: 40%;
    text-align: center;
}

#slider {
    -webkit-appearance: none;
    background-color: grey;
    width: 90%;
    display: block;
    margin: auto;
}

#slider::-webkit-slider-thumb {
    cursor: pointer;
}

#slider::-moz-range-thumb {
    cursor: pointer;
}

#valuetag {
    text-align: center;
    margin-top:25px;
}

h2 {
    text-align: center;
    font-size: 45px;
    text-decoration: underline;
}

#display {
    width: 90%;
    margin-left: 50px;
    margin-bottom: 50px;
    font-size: 40px;
}

#display div {
    display: inline-block;
    width: 45%;
    text-align: center;
}

span {
    font-size: 15px;
}

.boiling {
    margin-left: 6%;
}

.boilingpointslider {
    text-align: center;
}

button {
    margin: 20px 20px 20px 0px;
    width: 75px;
}
 <header>
        <h1>Periodic Table Gases - Interative Slider</h1>
        <nav>
            <div class="navbar">
                <div class="navlinks">Boiling Point</div>
                <div class="navlinks" id="nav3">Melting Point</div>
            </div>
        </nav>
    </header>
<div id="intro">
<p>Interact with the slider buttons to view the displayed properties held by gases, within the periodic table of elements.</p>
</div>
<h2 id="elementtype">Hydrogen</h2>
<div id="display">
    <div class="boiling">
<h2>Boiling Point</h2>
<input id="celciusboiling" type="number" value="0"><span>&#8451;</span>
<input id="fahrenboiling" type="number"><span>&#8457;</span>
<input id="kelvinboiling" type="number"><span>&#8490;</span>
</div>
<div class="melting">
    <h2>Melting Point</h2>
<input id="celciusmelting" type="number"><span>&#8451;</span>
<input id="fahrenmelting" type="number"><span>&#8457;</span>
<input id="kelvinmelting" type="number"><span>&#8490;</span>
</div>
</div>

<input type="range" min="0" max="9" value="0" id="slider">

<div class="boilingpointslider">  
    <button id="leftbutton" onclick="moveSliderLeft()">Left</button>
    <button id="rightbutton" onclick="moveSliderRight()">Right</button>
</div>

我在将值传输到输入字段时遇到问题。

在链接的摘录中,它们是带有氢值的标题,而在左下角是具有摄氏度输入字段的沸点标题。

我正在尝试实现一种场景,其中您使用按钮来移动滑块,并且在每个值处标题都将变为不同的元素,而摄氏沸点的输入值将发生变化。

虽然我无法使它正常工作。这些按钮可以使滑块左右移动,但是无论出于什么原因,我都无法使该值出现在输入字段中或更改标题。我已经显示了我已经获取了用于移动滑块的按钮的代码,以及一段代码,当滑块值更改为2时,我认为这将允许我想要进行的更改。 / p>

谢谢。

1 个答案:

答案 0 :(得分:0)

您没有显示HTML,但我想滑块是输入(文本或隐藏)。

value属性是一个字符串,即使您为其分配了一个数字,因此,如果要递增或递减它,则需要先将其转换为整数,如下所示:

slider.value = parseInt(slider.value)++ // or --

请注意,您也尝试在parseInt(2)中向下main(),因为2已经是整数,所以这没有意义。