У меня есть два прямоугольника один синий, один зеленый (зеленый скрыт переполнением).Я пытаюсь заставить зеленый прямоугольник двигаться вверх, пока он не достигнет вершины синего прямоугольника при нажатии кнопки.Я совершенно новичок в Javascript и не знаю, где я иду не так.Мыслительный процесс, лежащий в основе JavaScript, заключается в том, что я беру элемент и говорю, что если его позиция получает верх контейнера, затем останавливаю функцию, в противном случае увеличиваю его снизу, чтобы он двигался вверх.
Мой код выглядит следующим образом:
CSS
body {
margin: 0;
padding: 0;
text-align: center;
}
#container{
position: relative;
background-color: brown;
height: 800px;
width: 800px;
margin: 0 auto;
margin-top: 75px;
}
#fullLoad{
position: relative;
height: 600px;
width: 200px;
background: blue;
left: 300px;
top: 100px;
overflow: hidden;
border-radius: 20px 20px 20px 20px;
}
#loader{
border-radius: 20px 20px 20px 20px;
z-index: 2;
position: absolute;
height: 600px;
width: 200px;
background: green;
top: 600px;
}
#btn{
position: absolute;
top: 20px;
right: 362px;
padding: 5px 20px;
border-radius: 10px;
background: gold;
font-family: sans-serif;
font-size: 1.8em;
color: #424242;
}
HTML
<div id="container">
<div id="fullLoad">
<div id="loader"></div>
</div>
<input id="btn" type="button" value="Go !" onclick="load()">
</div>
Javascript
function load() {
var loader = document.getElementById("loader");
var pos = 600;
var id = setInterval(frame, 5);
function frame() {
if (pos == 0) {
clearInterval(id);
} else {
pos++;
loader.style.bottom = pos + 'px';
}
}
}