2013-10-08 3 views
0

У меня есть элемент ввода диапазона HTML (слайдер), значение которого я динамически обновляю с помощью JavaScript. Это отлично работает, пока я не нажму на ползунок, и в этот момент он больше не обновляется. Это ошибка в Firefox или почему это происходит?Как правильно анимировать элемент ввода диапазона?

<script src="http://d3js.org/d3.v3.js"></script> 
<script> 
var timeValue = 0; 
var timeSlider = d3.select("body").append("input") 
.attr("type", "range") 
.attr("min", 0) 
.attr("max", 10000) 
.style("width", "500px"); 

window.setInterval(update, 20); 

function update() { 
    timeValue += 20; 
    timeSlider.attr("value", timeValue); 
} 
</script> 
+2

Вы можете разместить фрагмент кода, чтобы проиллюстрировать функциональность? – Bobby5193

+0

Это работает в других браузерах? –

+0

Нет, еще хуже в Chrome. Возможно, слайдеры не должны быть анимированы. – mdm

ответ

0

По моему опыту, когда вы оживляющий элемент управления ввода, и пользователь ничего не делает, что приводит к контролю фокусируясь, анимация останавливается или ведет себя плохо из-за браузера будет убедиться, что вход управления находится где это может видеть пользователь, который часто не совсем там, где вы хотите. Это не относится к FF. У меня возникли аналогичные проблемы в Chrome и IE.

Для решения этой проблемы вы должны отключить управление вводом до начала анимации и включить его после окончания анимации.

Смежные вопросы