Передача значения JS в HTML для создания тега привязки - PullRequest
0 голосов
/ 29 января 2020

Я пытаюсь получить значение года для передачи тегу, включая «#», чтобы затем использовать значение года ползунка в качестве ссылки на элемент div, расположенный ниже по странице.

Что мне нужно изменить?

var slider = document.getElementById("myRange");
var output = document.getElementById("year");
output.innerHTML = slider.value; // Display the default slider value

// Update the current slider value (each time you drag the slider handle)
slider.oninput = function() {
  output.innerHTML = this.value;
}

document.getElementById("year").href = year;
<div class="slidecontainer">
  <input type="range" min="2009" max="2020" value="1" class="slider" id="myRange">
</div>

<a href="#" id="year">
</a>

Ответы [ 2 ]

2 голосов
/ 29 января 2020

Назначьте значение свойству href в обработчике событий oninput.

var slider = document.getElementById("myRange");
var output = document.getElementById("year");
output.innerHTML = slider.value;

slider.oninput = function() {
  output.innerHTML = this.value;
  output.href = '#' + this.value;
}
/* Display the current 'href' value for demo */
a::after {
  content: 'href=' attr(href);
  margin-left: 10px;
  font-size: .8em;
  color: #666;
}
<div class="slidecontainer">
  <input type="range" min="2009" max="2020" value="1" class="slider" id="myRange">
</div>

<a href="#" id="year">
</a>
0 голосов
/ 29 января 2020

Вы устанавливаете href на year, который не определен (как я вижу в вашем вопросе). Вы можете просто установить output href в функции oninput. Итак, ваш код будет выглядеть так:

var slider = document.getElementById("myRange");
var output = document.getElementById("year");
output.innerHTML = slider.value; // Display the default slider value

// Update the current slider value (each time you drag the slider handle)
slider.oninput = function() {
  output.innerHTML = this.value;
  output.href = '#' + this.value;
}
...