Прокрутка Ползунка input[type=range] при достижении Div'a

273
16 марта 2018, 15:41

Есть Ползунок (input[type=range]) - как можно поменять его положение при достижении определеного Div'a - знаю что можно использовать pageYOffset - но для адаптации это не очень подходит - может есть решения

спасибо -

<div id="1"></div>
<div id="2"></div>
<div id="3"></div>
<div id="4"></div>
      <input id='damodara' type="range"  value="1" min="1" max="16" step="1" oninput="fun1();">
Answer 1

var footer = document.getElementById("footer"); 
 
document.onscroll = function() { 
var top = footer.getBoundingClientRect().top; 
var heightScreen = document.documentElement.clientHeight; 
var g = top - heightScreen; 
if (g <=0){ 
	window.scrollBy(0, -footer.offsetTop); 
	//вы не сможете увидеть футер 
}  
}
body{ 
display: flex; 
flex-direction: column; 
justify-content: space-around; 
} 
 
div{ 
width: 50%; 
height: 400px; 
border: 1px solid; 
margin: 10px; 
}
<div>1</div> 
<div>2</div> 
<div>3</div> 
<div id="footer">Footer</div>

Или речь не о скролле?)

UPD:

var input = document.getElementById("input"), 
 scrollHeight = document.documentElement.scrollHeight, 
 max = input.max, 
 min = input.min, 
 maxSection = max-min, 
 heightSection = scrollHeight/maxSection; 
 
document.addEventListener("scroll", changeInput) 
 
function changeInput(){ 
var value = input.value, 
	scrollTop = document.documentElement.scrollTop, 
	nowSection = Math.floor(scrollTop/heightSection); 
 	input.value = nowSection; 
}
body{ 
display: flex; 
flex-direction: column; 
justify-content: space-around; 
} 
 
div{ 
width: 100%; 
height: 400px; 
border: 1px solid; 
margin: 10px; 
} 
input{ 
position: fixed; 
top: 0; 
}
<input id="input" type="range" min="0" max="10" step="1" value="0"> 
<div>1</div> 
<div>2</div> 
<div>3</div> 
<div>4</div>

READ ALSO
JavaScript return из callback

JavaScript return из callback

Вопрос Как сделать return из callback-а?

246
Как прокинуть аргумент в одну из функции композиции библиотеки Ramda?

Как прокинуть аргумент в одну из функции композиции библиотеки Ramda?

Здравствуйте существует ли способ прокинуть аргументы в одну из функций входящих в композицию библиотеки Ramda Вот пример

182
Сложение числе в объекте с отображением в инпуте

Сложение числе в объекте с отображением в инпуте

При сложении чисел 1 и 2 с отображение в инпуте функция plus(), которая должна отобразить сумму 3, почему-то не работает

202